Como comparar as diferenças entre dois arquivos PDF no Windows?


205

Você conhece uma boa maneira de comparar arquivos PDF lado a lado e mostrar as modificações entre os dois?

Estou procurando pelo software Windows para fazer isso. Seria ótimo se você pudesse postar produtos gratuitos e não gratuitos.



1
Existe uma biblioteca GRATUITA para comparar pdf pixel por pixel. Confira este blog: testautomationguru.com/…
Vinoth S

Respostas:


109

Experimente o WinMerge com o plugin xdocdiff . Ambos são totalmente gratuitos. Sem condições.


Alguns dos comentários abaixo sugerem que eles não vêem diferença. Isso significa que o plug-in não está instalado corretamente. Aqui está como:

  1. Coloque os arquivos onde o xdocdiffarquivo leia-me do plug - in diz para colocá-los (existem dois lugares; não os listarei aqui, pois os nomes de arquivos podem mudar etc. - leia o leia-me)

  2. No WinMerge, vá para Plugins> Lista e marque a caixa de seleção "Ativar plug-ins" (esta etapa está ausente no xdocdiffleia - me)

  3. No WinMerge, escolha Plugins> Desembalagem automática (isso foi desabilitado antes da etapa 2)

Então, ao comparar, você verá como são os arquivos de texto nas janelas de comparação.


Tentei isso, mas não vi nenhuma diferença ao não usar o plugin xdocdiff. Existe uma opção para selecionar na interface do usuário do WinMerge?
Âmbar ferrolho

1
Qual é o objetivo de visualizar o texto binário em um PDF? Eu esperava ver as diferenças visuais feitas pelo i-net PDFC .
JJD

Havia alguma maneira de fazer essa quebra de coluna do identificador? Sem ele, uma mudança se transforma em várias.
Stuart

1
Plugins > List and tick the "Enable Plugins" checkboxfoi o que estava faltando para mim!
Seph 5/05

Muitos personagens estão faltando as versões de texto dos PDFs mostradas nas janelas de diferenças WinMerge
CJA

168

No Linux e Windows, você pode usar diffpdf(o que difere do diff-pdfmencionado neste tópico).

insira a descrição da imagem aqui

No Ubuntu instale usando:

sudo apt-get install diffpdf

Veja mais esta página do UbuntuGeek sobre a comparação de pds textualmente ou visualmente .

Para Windows , esta versão do Diffpdf para Windows funciona muito bem. Você pode fazer o download em http://soft.rubypdf.com/software/diffpdf (role para baixo até a versão estática do Win32 ).


12
O nome apropriado é DiffPDF (como visto na captura de tela) e é baseado na biblioteca Qt 4 e Poppler, portanto, é portátil. Consulte a página inicial do DiffPDF : qtrac.eu/diffpdf.html . As informações sobre a compilação do Windows estão aqui: soft.rubypdf.com/software/diffpdf . E suas instruções de instalação também funcionam no Debian.
Przemoc 22/05

3
A página inicial do DiffPDF agora também possui links para as instalações Linux, Windows Installer e Mac DMG ( qtrac.eu/diffpdf.html ).
studgeek

6
DiffPDF é a ferramenta mais avançada apresentada aqui, na minha opinião. Ele não apenas oferece uma boa comparação gráfica, mas também rastreia as alterações de maneira mais inteligente que outras, por exemplo, o xdocdiff para o WinMerge. No entanto, ele tem um problema sério: limita a comparação às páginas. Isso significa que, se você tem algum texto na página 2 do documento A, mas este texto se move para a página 3 do documento B, em seguida, a ferramenta pensa seu ido em A e adicionado em B.
caw

7
As versões gratuitas mais velhos podem ser encontrados aqui
Shafik Yaghmour

3
Tentei usar isso para um romance que exporto para PDF. Infelizmente, a ferramenta perdeu o controle após cerca de 10 páginas e considerou tudo "diferente", mesmo que grandes passagens fossem exatamente as mesmas.
Eric J.

42

Encontrei recentemente isso e adoro.

https://github.com/vslavik/diff-pdf

Plataforma cruzada, gratuita e funciona bem.

Aqui está uma captura de tela de diff-pdfem ação - observe que o texto não é diferente no PDF, mas apenas fontes (e correspondentemente, configurações de layout):

diff-pdf.png

A chamada para obter essa imagem foi:

diff-pdf --view testA.pdf testB.pdf

 

... onde testA.pdf / testB.pdf são obtidos compilando este arquivo Latex simples com pdflatex(de acordo com cada pdf, consulte o comentário):

\documentclass[12pt]{article}


                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}


\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}

10
Apenas mais uma observação sobre diff-pdf: o DiffPDF é ótimo para comparação visual rápida lado a lado do texto alterado, mas é praticamente impossível depurar coisas como, por exemplo, pequenas alterações no espaçamento entre linhas - diff-pdfpor outro lado, basicamente coloca o conteúdo da página de ambos os arquivos comparados na mesma página (mas com cores diferentes) - para que os problemas de espaçamento entre linhas possam ser facilmente identificados ... Saúde!
Sdaau # 6/11

Isso é ótimo! Existe alguma maneira de rastrear o progresso de arquivos grandes ao gerar um arquivo PDF (sem usar a opção --view)? A opção detalhada / v parece não fazer nada. Além disso, quando você executa o comando para gerar um PDF de comparação, ele é executado em um processo separado, para não pausar o prompt de comando, como normalmente acontece quando você executa algo no prompt.
28816

Este é o que eu precisava. Estou comparando relatórios em PDF sobre execuções numéricas, procurando diferenças em um dígito em uma página inteira. O problema é que não consigo identificar os caracteres em ciano, mas saber onde está a diferença é suficiente para encontrá-lo nos relatórios originais.
Manuelvigarcia

22

Também precisávamos comparar PDFs em nossa empresa e não estávamos satisfeitos com nenhuma das soluções que encontramos, por isso criamos o nosso: i-net PDFC . Não é gratuito, mas oferecemos uma avaliação de 30 dias.

É escrito em Java, portanto, é multiplataforma.

captura de tela

O que o torna especial é que ele compara o conteúdo em vez de apenas o texto (ou apenas converte o pdf em uma imagem e compara a imagem). Ele também possui uma boa ferramenta de comparação visual.


1
Bom pedaço de software.
Âmbar ferrolho

Não consegui fazer isso funcionar. Carregou os dois arquivos e clicou no botão comparar e nada acontece.
Craig Fisher

1
Lida corretamente com diferenças entre páginas. Possui uma funcionalidade de exportação / impressão. Diferentes perfis de comparação (incluindo personalizados). Passe o mouse sobre fornece mais detalhes sobre o que mudou. Parece ótimo. As desvantagens são o julgamento / custo e não lida com movimentos. Definitivamente superior às ferramentas mais votadas na IMO.
precisa

@JonathanGawrych obrigado pelas amáveis ​​palavras! O que você quer dizer com "movimentos", exatamente? Talvez possamos adicionar essa funcionalidade ...
Epaga

@Epaga Se uma seção de texto for movida de uma página para outra, ela será exibida como uma exclusão e uma adição. Por exemplo, compare as propostas c ++ N4663 e N4680 . Veja na página 19, um exemplo é movido do parágrafo 11 para 8, no entanto, é tratado como uma adição / exclusão. Para ver as diferenças reais, seria necessário detectar manualmente algo movido e, em seguida, copiar o exemplo para outra ferramenta de comparação para ver se as coisas foram adicionadas ao exemplo (exceção não tratada, return_void etc.)
Jonathan Gawrych

12

Você também pode usar o Adobe Acrobat X. Sua funcionalidade de comparação de PDF foi incorporada em "Exibir -> Comparar documentos.


1
Acrobat ou Acrobat Reader? o software Reader não possui isso #
Jason S

4
O AcrobatX Pro é a única versão que possui esse recurso. O "simplesmente AcrobatX" não funciona.
22413 Carl Witthoft

2
No Acrobat 9 Pro, está no menu Documento.
svinto


10

Queria fazer isso (PDFs diferenciais) recentemente com estes requisitos:

  • ignore espaços em branco, quebras de linha, quebras de página etc.
  • veja facilmente quando apenas algumas palavras mudaram, e não apenas linhas / parágrafos inteiros.
  • saída diff de cor

Instalei o pdftotext, o wdiff e o colordiff, disponíveis em vários gerenciadores de pacotes. (Com MacPorts: sudo port install poppler wdiff colordiff)

Então:

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

Agora posso ver quais palavras, bem coloridas, mudaram.

Mais detalhes: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

Variação:

Usar dwdiffpode produzir resultados um pouco melhores.

Eu também queria uma saída HTML, para que esse pequeno script crie uma página da Web básica com um pouco de CSS.

bash pc-script.bash old.pdf new.pdf > q.htlm

Em seguida, abra q.htmlcom o seu navegador da web.

pc-script.bash Arquivo:

#!/bin/bash

OLD="$1"
NEW="$2"

cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus  { color: green; background: #E7E7E7;                                }
.minus { color: red;   background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF

dwdiff -i -A best -P      \
  --start-delete='<span class="minus">' --stop-delete='</span>' \
  --start-insert='<span class="plus" >' --stop-insert='</span>' \
  <( pdftotext -enc UTF-8 -layout "$OLD" - )   \
  <( pdftotext -enc UTF-8 -layout "$NEW" - )   \

cat <<EOF
</pre></body></html>
EOF

Um exemplo de saída pode ser visto aqui

insira a descrição da imagem aqui


@philcolbourn O Google+ está sendo desligado. Talvez compartilhe a captura de tela via imgur?
myrdd 25/03

fwiw, eu me deparei com este pequeno repositório
dia

Se você usa Windows, Mac, Fedora, openSUSE ou é capaz de compilar os binários da fonte para o seu sistema, o diff-pdf é uma solução melhor que realiza isso sem a necessidade de instalar três dependências diferentes. Não deve ser confundido com o diffpdf mencionado em outra resposta, que funciona apenas via GUI.
Hashim

Observe que o pc-script.bashscript não escapa caracteres para HTML.
Federico

7

Se você estiver comparando texto em um pdf, o Beyond Compare faz isso.

Não é gratuito, mas há um período de avaliação de trinta dias.


Sim, New > Text Compareme ajudou a ver diferenças básicas no texto entre 2 arquivos PDF.
22718 Ryan

6

Ótima ferramenta e fácil de usar: Compare-It v4 (em http://www.grigsoft.com/ )

Compara muitos tipos diferentes de arquivos. Possui alguns conversores embutidos, incluindo um para arquivos PDF.

Eu o usei algumas vezes com resultados satisfatórios.

Realmente deveria tentar isso. A versão de teste permite a comparação por tempo ilimitado.


1
Este foi o melhor e mais fácil de todos para mim. Obrigado!
Ankur Jain

Ferramenta mais fácil e simples que encontrei para usar. Eu gostaria de poder votar isso mais de uma vez!
Chad

Para PDF, a comparação parece ser textual. Última versão em 2010. Você pode pagar por isso, mas com certeza qual é a diferença - não vi nenhuma limitação?
Zitrax


1

Livre, não é o melhor, mas ...

Abro os dois documentos e os coloco em tela dividida um contra o outro.

Não é a solução mais prática, mas funciona!

Não vi um bom pacote DIFF para arquivos PDF e, embora seja manual e irritante, meu caminho funciona!


Hum ... não exatamente o que eu estava procurando, mas obrigado.
Nelson Reis

Desculpe, não sei uma boa resposta, mas estou dizendo que nunca encontrei uma boa ferramenta para arquivos PDF.
William Hilsum 24/09/09

3
cruze os olhos para que as duas cópias se sobreponham e quaisquer diferenças pareçam tremer. : D
endólito

Versão otimizada desse método: abrir os dois arquivos PDF em acrobat reader tela cheia via CTRL + L, em seguida, usar CTRL + F6 para alternar entre os arquivos PDF, tudo que se move é diferente ...
Bernard Vander Beken


0

Outra solução abaixo do ideal:

  1. Converta ambos os PDFs em documentos do Microsoft Word usando um dos sites que fazem isso de graça .
  2. Use a funcionalidade de comparação de documentos no Word.

Dependendo da complexidade da formatação nos PDFs e do tipo de alteração que você está procurando, isso pode ser bom.


Nesse caso, seria difícil, pois existem muitos documentos em PDF e as modificações ocorrem com muita frequência. Mas obrigado pela sugestão.
Nelson Reis

Também não é bom para a saída LaTeX - não encontrei um desses conversores que lida com ligaduras etc. corretamente.
Chris H

0

Comercial: você pode usar o Adobe Acrobat Professional original por US $ 449:
comparar um PDF revisado com uma versão anterior .

Se você optar pelo Acrobat, os comentários nesta página serão pertinentes ao seu uso.


"por US $ 449" ... e quantos MB de espaço em disco?
Hugh Allen

3
@Hugh Allen: Um monte de espaço em disco e algumas dezenas de milhares de entradas no registro. Um verdadeiro bloatware.
harrymc 7/11/2009

Artigo de ajuda atualizado para o Adobe Acrobat XI: adobe.com/uk/products/acrobat/file-compare-two-pdf-files.html
Squig



0

Para uma forma muito primitiva de rolagem sincronizada entre dois arquivos pdf, você pode usar o seguinte script de autohotkey que escrevi. Parte do princípio que você tem duas janelas SumatraPDF abertas. Pressione para a direita para ir para a próxima página nas duas janelas, pressione para a esquerda para a página anterior.

#IfWinActive ,SumatraPDF
Right::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Right}
WinActivate, ahk_id %win2%
sendinput {Right}
WinActivate, ahk_id %orig%
return

Left::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Left}
WinActivate, ahk_id %win2%
sendinput {Left}
WinActivate, ahk_id %orig%
return

0

Usei esta solução (não ideal, mas para mim suficiente):

  • Converter PDF em texto sem formatação (no meu caso com o Adobe Reader, aplicativo gratuito)
  • Use opendiff (incluído no XCode, gratuito) e veja as alterações


0

Também há https://www.diffchecker.com/diff online gratuito .

Mas destaca apenas as diferenças de texto sem imagens e formatação. E é muito fraco na correspondência de fragmentos inalterados em arquivos grandes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.