it-swarm.com.de

Tool zum Vergleichen einer großen Anzahl von PDF Dateien?

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, zum Beispiel:

  • das Aufteilen von Text kann unterschiedlich sein
  • die Schreibreihenfolge kann unterschiedlich sein
  • die Position kann um einige Pixel abweichen

Es sollte den Inhalt wie ein menschliches Volk vergleichen und nicht die interne Struktur. Ich möchte testen, ob Regressionen zwischen verschiedenen Versionen des von uns verwendeten Generators PDF) vorliegen.

83
Horcrux7

Weil es kein solches Tool gibt, das wir geschrieben haben. Sie können das i-net PDF content comparer herunterladen und verwenden. Ich hoffe, dass andere bei dem gleichen Problem helfen. Wenn Sie Probleme damit haben oder Feedback haben Für uns können Sie sich dann an unseren Support wenden.

enter image description here

39
Horcrux7

Es gibt tatsächlich ein diffpdf-Tool.

http://www.qtrac.eu/diffpdf.html

Seine Schwäche ist, dass es nicht gut reagiert, wenn Ergänzungen dazu führen, dass neuer Text teilweise auf eine neue Seite verschoben wird. Wenn beispielsweise die alte Seite 4 mit dem Ende der Seite 5 und dem Anfang der Seite 6 verglichen werden soll, müssen Sie die Parameter verschieben, um die beiden Schichten getrennt zu vergleichen.

20
jabial

Ich habe ein selbstgebackenes Skript verwendet, das

  • konvertiert alle Seiten von zwei PDFs in Bitmaps
  • färbt Seiten von PDF 1 bis Rot auf Weiß
  • wechselt auf Seiten von PDF 2
  • überlagert jede Seite von PDF 2 über der entsprechenden Seite von PDF 1
  • paralleles Konvertieren/Färben und Überlagern mehrerer Kerne

Software verwendet:

  • GhostScript für die Konvertierung von PDF in Bitmap
  • ImageMagick für Farbgebung, Transparenz und Überlagerung
  • inotify für die Synchronisierung paralleler Prozesse
  • beliebiger PNG-fähiger Bildbetrachter zur Überprüfung des Ergebnisses

Vorteile:

  • einfache Implementierung
  • alle verwendeten Tools sind Open Source
  • ideal um kleine unterschiede im layout zu finden

Nachteile:

  • die Konvertierung ist langsam
  • hauptunterschiede zwischen PDFs (z. B. Paginierung) führen zu einem Durcheinander
  • bitmaps sind nicht zoombar
  • funktioniert nur gut für Schwarzweiß-Text und Diagramme
  • keine einfach zu bedienende GUI

Ich habe nach einem Tool gesucht, das auf PDF/PostScript-Ebene dasselbe bewirkt.

So ruft unser Skript die Dienstprogramme auf (beachten Sie, dass ImageMagick GhostScript im Hintergrund verwendet, um die PDF-> PNG-Konvertierung durchzuführen):

$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images
13
akaihola

Ich scheine dies hier nicht sehen zu können, daher hier: via Superuser: Wie vergleiche ich die Unterschiede zwischen zwei PDF Dateien? (Antwort # 229891, von @slestak) gibt es

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

(Buildschritte 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 in den PDFs, sodass Sie leicht sehen können, ob es irgendwelche Änderungen gab ...

Prost!

12
sdaau

Wir haben auch pdftotext (siehe Sklivvzs Antwort) verwendet, um ASCII Versionen von PDFs zu erzeugen und wdiff , um sie zu vergleichen.

Benutze pdftotext's -layout wechseln, um die Lesbarkeit zu verbessern und sich ein Bild von Änderungen im Layout zu machen.

Verwenden Sie das folgende Wrapper-Skript, um eine schöne Farbausgabe von wdiff zu erhalten:

#!/bin/sh
RED=$'\e'"[1;31m"
GREEN=$'\e'"[1;32m"
RESET=$'\e'"[0m"
wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2
8
akaihola

Ich denke, Ihr bester Ansatz wäre es, das PDF in Bilder mit einer anständigen Auflösung umzuwandeln und dann einen Bildvergleich durchzuführen.

Zum Generieren von Bildern aus PDF können Sie die Adobe PDF Library oder die unter Beste Methode zum Konvertieren von PDF-Dateien in TIFF-Dateien vorgeschlagene Lösung verwenden.

Um die generierten TIFF-Dateien zu vergleichen, fand ich GNU tiffcmp (für Windows-Teile von GnuWin32 tiff ) und tiffinfo = hat gute Arbeit geleistet. Verwenden Sie tiffcmp -l und zählen Sie die Anzahl der Ausgabezeilen, um Unterschiede festzustellen. Wenn Sie sich über geringfügige Änderungen des Inhalts freuen (z. B. Antialiasing-Unterschiede), können Sie mithilfe von tiffinfo die Gesamtzahl der Pixel zählen und anschließend 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, Befehlszeilen-Diff zu verwenden und bestimmte Muster zu ignorieren, z. mit GNU diff 2.7:

diff --brief -I xap: -I xapMM: -I/CreationDate -I/BaseFont -I/ID --binary --text

Dies hat immer noch das Problem, dass es nicht immer Änderungen in generierten Schriftnamen erfasst.

4
danio

Je nach Ihren Anforderungen ist eine Konvertierung in eine Textlösung am einfachsten und direktesten. Ich fand die Bitmap-Idee ziemlich cool.

1
user602475

Unser Produkt PDF Comparator - http://www.premediasystems.com/pdfc.html "- erledigt dies auf elegante und effiziente Weise. Es ist auch nicht kostenlos, und ist eine reine Mac OS X-Anwendung.

1
Peter Truskier

bluebeam pdf software erledigt das für Sie

0
M Jenkins

Sie können PDF vergleichen Dateien mit Tarkware Pdf Comparer stapeln. Es ist jedoch nicht kostenlos und erfordert Adobe Acrobat.

0
erks