Ich muss eine große Anzahl von PDF-Dateien für den optischen Inhalt vergleichen. Da die PDF-Dateien auf verschiedenen Plattformen und mit verschiedenen Versionen der Software erstellt wurden, gibt es strukturelle Unterschiede. Beispielsweise:
- Das Aufteilen von Text kann unterschiedlich sein
- Die Schreibreihenfolge kann unterschiedlich sein
- Die Position kann einige Pixel unterschiedlich sein
Es sollte den Inhalt wie ein menschliches Volk vergleichen und nicht die interne Struktur. Ich möchte einen Test auf Regressionen zwischen verschiedenen Versionen des von uns verwendeten PDF-Generators durchführen.
Antworten:
Weil es kein solches Tool gibt, das wir geschrieben haben. Sie können den i-net PDF-Inhaltsvergleich herunterladen und verwenden. Ich hoffe das hilft anderen bei dem gleichen Problem. Wenn Sie Probleme damit haben oder Feedback für uns haben, können Sie sich an unseren Support wenden.
quelle
Es gibt tatsächlich ein diffpdf-Tool.
http://www.qtrac.eu/diffpdf.html
Seine Schwäche ist, dass es nicht gut reagiert, wenn durch Hinzufügen neuer Text teilweise auf eine neue Seite verschoben wird. Wenn beispielsweise die alte Seite 4 mit dem Ende von Seite 5 und dem Anfang von Seite 6 verglichen werden soll, müssen Sie die Parameter verschieben, um die beiden Slices getrennt zu vergleichen.
quelle
Ich habe ein selbstgebackenes Skript verwendet, das
Verwendete Software:
Vorteile:
Nachteile:
Ich habe nach einem Tool gesucht, das auf PDF / PostScript-Ebene dasselbe tut.
So ruft unser Skript die Dienstprogramme auf (beachten Sie, dass ImageMagick GhostScript hinter den Kulissen verwendet, um die PDF-> PNG-Konvertierung durchzuführen):
quelle
for i in $(seq -w 0 05); do /cygdrive/c/Progra~1/ImageMagick-6.6.9-Q8/composite.exe 1-$i.png 2-$i.png result-$i.png; done
pdfdiff
Verzeichnis aus und druckt zusätzlich die Nummern der Seiten, die sich zwischen den beiden PDFs unterscheiden.Ich scheine dies hier nicht zu sehen, also hier ist es: via Superuser: Wie vergleiche ich die Unterschiede zwischen zwei PDF-Dateien? (Antwort # 229891, von @slestak) gibt es
https://github.com/vslavik/diff-pdf
(Build-Schritte für Ubuntu Natty finden Sie in get-diff-pdf.sh )
Soweit ich sehen kann, überlagert es im Grunde den Text / die Grafiken jeder Seite im PDF (s), sodass Sie leicht sehen können, ob Änderungen vorgenommen wurden ...
Prost!
quelle
Wir haben auch pdftotext (siehe Sklivvz 'Antwort) verwendet, um ASCII-Versionen von PDFs zu generieren und wdiff , um sie zu vergleichen.
Verwenden Sie den
-layout
Schalter von pdftotext, um die Lesbarkeit zu verbessern und sich ein Bild von Änderungen im Layout zu machen.Verwenden Sie dieses Wrapper-Skript, um eine schöne farbige Ausgabe von wdiff zu erhalten:
quelle
Ich denke, Ihr bester Ansatz wäre es, das PDF in Bilder mit einer angemessenen Auflösung zu konvertieren und dann einen Bildvergleich durchzuführen.
Um Bilder aus PDF zu generieren, können Sie die Adobe PDF Library oder die unter Beste Methode vorgeschlagene Lösung zum Konvertieren von PDF-Dateien in TIFF-Dateien verwenden .
Um die generierten TIFF-Dateien zu vergleichen, fand ich GNU tiffcmp (für Windows Teil von GnuWin32 tiff ) und tiffinfo haben gute Arbeit geleistet. Verwenden Sie tiffcmp -l und zählen Sie die Anzahl der Ausgabezeilen, um Unterschiede festzustellen. Wenn Sie sich über eine geringfügige Änderung des Inhalts freuen (z. B. Anti-Aliasing-Unterschiede), verwenden Sie tiffinfo, um die Gesamtzahl der Pixel zu zählen, und Sie können dann einen prozentualen Differenzwert generieren.
Übrigens ist es für jeden, der einen einfachen PDF-Vergleich durchführt, bei dem sich die Struktur nicht geändert hat, möglich, Befehlszeilendiff zu verwenden und bestimmte Muster zu ignorieren, z. B. mit GNU diff 2.7:
Dies hat immer noch das Problem, dass Änderungen an generierten Schriftnamen nicht immer erfasst werden.
quelle
Unser Produkt PDF Comparator - http://www.premediasystems.com/pdfc.html "- erledigt dies recht elegant und effizient. Es ist auch nicht kostenlos und eine reine Mac OS X-Anwendung.
quelle
ImageMagick
, siehe einige meiner anderen Antworten: eins - zwei - drei .Je nach Ihren Anforderungen ist eine Konvertierungslösung in Text am einfachsten und direktesten. Ich fand die Bitmap-Idee ziemlich cool.
quelle
Die pubf-Software von blubeam erledigt dies für Sie
quelle
Sie können PDF- Dateien mit Tarkware Pdf Comparer stapelweise vergleichen. Es ist jedoch nicht kostenlos und erfordert Adobe Acrobat.
quelle