it-swarm-eu.dev

Come confrontare le differenze tra due PDF file su Windows?

Conosci un buon metodo per confrontare i file PDF affiancati e mostrare le modifiche tra i due?

Sto cercando il software Windows per realizzare questo. Sarebbe bello poter pubblicare sia prodotti gratuiti che non liberi.

203
Nelson Reis

Prova WinMerge con xdocdiff plugin. Entrambi sono completamente gratuiti. Senza obblighi.


Un paio di commenti sottostanti suggeriscono che non vedono alcuna differenza. Ciò significa che il plug-in non è installato correttamente. Ecco come:

  1. Metti i file in cui il file readme del plug-in xdocdiff dice di metterli (ci sono due posti, non li elenco qui come i nomi dei file possono cambiare, ecc. - leggi il readme)

  2. In WinMerge, vai su Plugins> List e spunta la casella di controllo "Enable Plugins" (questo passo manca nel readme xdocdiff)

  3. In WinMerge, scegli Plugin> Automatic Unpacking (disabilitato prima del passaggio 2)

Quindi, durante il confronto, vedrai che aspetto hanno i file di testo nelle finestre di confronto.

108
Kenneth Cochran

Su Linux e Windows puoi usare diffpdf (che differisce da diff-pdf menzionato in questa discussione).

enter image description here

Sull'installazione di Ubuntu usando:

Sudo apt-get install diffpdf

Vedi oltre questa pagina di UbuntuGeek sul confronto di testi testuali o visivi .

Per Windows , questa versione di Windows di Diffpdf funziona davvero alla grande. È possibile scaricare da http://soft.rubypdf.com/software/diffpdf (scorrere fino a Win32 versione statica).

167
emacsomancer

L'ho trovato di recente e lo adoro.

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

Cross platform, gratuito e funziona bene.

Ecco uno screenshot di diff-pdf in azione - nota che il testo non è diverso nel PDF, ma solo i caratteri (e, corrispondentemente, le impostazioni di layout):

diff-pdf.png

La chiamata per ottenere quell'immagine era:

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

... dove testA.pdf/testB.pdf si ottiene compilando questo semplice file Latex con pdflatex (di conseguenza per ogni pdf, vedi commento):

\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}
40
slestak

Avevamo anche bisogno di confrontare i PDF nella nostra azienda e non eravamo soddisfatti delle soluzioni che abbiamo trovato, quindi abbiamo creato il nostro: i-net PDFC . Non è gratuito, ma offriamo una prova di 30 giorni.

È scritto in Java, quindi è multipiattaforma.

screenshot

Ciò che lo rende speciale è che confronta il contenuto anziché solo il testo (o semplicemente convertendo il pdf in un'immagine e confrontando l'immagine). Ha anche un bel strumento di confronto visivo.

21
Epaga

Puoi anche usare Adobe Acrobat X. La sua funzionalità di comparazione PDF è integrata in "Visualizza -> Confronta documenti".

12
Babak Farrokhi

Volevo fare questo (diff PDFs) di recente con questi requisiti:

  • ignorare spazi bianchi, interruzioni di riga, interruzioni di pagina, ecc.
  • facilmente vedere quando solo un paio di parole che cambiano, non solo intere linee/paragrafi.
  • uscita diff colore

Ho installato pdftotext, wdiff e colordiff, disponibili in vari gestori di pacchetti. (Con macports: Sudo port install poppler wdiff colordiff)

Poi:

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

Ora posso vedere quali parole, ben colorate, sono cambiate.

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

Variazione:

L'utilizzo di dwdiff può produrre risultati leggermente migliori.

Volevo anche l'output HTML, quindi questo piccolo script crea una pagina Web di base con un po 'di CSS.

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

Quindi apri q.html con il tuo browser web.

pc-script.bash file:

#!/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

Un esempio di output può essere visto qui

 enter image description here

9
philfreo

Se stai confrontando il testo all'interno di un pdf, quindi Oltre il confronto lo fa.

Non libero, ma c'è una prova di trenta giorni.

7
sgmoore

Ottimo strumento e facile da usare: Compare-It v4 (da http://www.grigsoft.com/ )

Confronta molti diversi tipi di file. Ha alcuni convertitori incorporati, incluso uno per PDF file.

L'ho usato diverse volte con risultati soddisfacenti.

Davvero dovrebbe provare questo. La versione di prova consente il confronto per un tempo illimitato.

6
WimV

Non lo so, ma c'è anche comparePDF (non gratuito, ma è possibile una prova di 30 giorni): http://www.compare-pdf.com/download.htm

2
Robert

Gratuito, non il migliore ma ...

Apro entrambi i documenti e li ho divisi uno contro l'altro.

Non è la soluzione più pratica, ma funziona!

Non ho visto un buon pacchetto DIFF per PDF file e mentre manuale e fastidioso, il mio modo funziona!

1
William Hilsum

Qui puoi caricare due pdf e recuperare il terzo che ti mostrerà la differenza tra i due.

Funziona su tutte le piattaforme, non c'è niente da imparare o installare ed è gratis.

https://synodins.com/apps/pdf_difference/intro.html

1

Per una forma molto primitiva di scorrimento sincronizzato tra due file PDF, è possibile utilizzare il seguente script Autohotkey che ho scritto. Si presuppone che siano aperte due finestre SumatraPDF. Premi a destra per andare alla pagina successiva in entrambe le finestre, premi a sinistra per la pagina precedente.

#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
ivanatpr

Ho usato questa soluzione (non ideale, ma per me sufficiente):

  • Converti PDF in testo normale (nel mio caso con Adobe Reader, app gratuita)
  • Utilizzare opendiff (incluso con XCode, gratuito) e vedere le modifiche
0
Ciryon

Un'altra soluzione tutt'altro che ideale:

  1. Converti entrambi i PDF in documenti Microsoft Word usando uno dei siti web che lo fanno gratuitamente .
  2. Utilizzare la funzionalità di confronto del documento in Word.

A seconda di quanto sia complessa la formattazione nei PDF e il tipo di modifiche che stai cercando, questo potrebbe essere OK.

0
Dave Webb

Commerciale: puoi utilizzare Adobe Acrobat Professional originale, per un totale di $ 449:
Confronta un _ PDF rivisto con una versione precedente .

Se si decide su Acrobat, i commenti su questa pagina sono pertinenti al suo utilizzo.

0
harrymc

pdf-diff è un pacchetto Python per questo scopo.

0

Diff Doc - non libero.

0
Rook

C'è anche gratis online https://www.diffchecker.com/diff .

Ma mette in evidenza solo le differenze di testo senza immagini e formattazione. Ed è troppo debole per abbinare frammenti non modificati in file di grandi dimensioni.

0
Vadzim