Vergleich zweier PDF-Dateien

8

Ich muss den Inhalt zweier fast ähnlicher Dateien vergleichen und die unähnlichen Teile in der entsprechenden PDF-Datei hervorheben. Verwende pdfbox. Bitte helfen Sie mir zumindest mit der Logik.

    
Aisharjya Sarkar 15.07.2011, 08:46
quelle

4 Antworten

5

Wenn Sie ein Werkzeug mit einer GUI bevorzugen, können Sie dieses ausprobieren: diffpdf . Es ist von Mark Summerfield , und da es mit Qt geschrieben wurde, sollte es auf allen Plattformen, auf denen Qt läuft, verfügbar sein (oder sollte erstellbar sein) an.

Hier ist ein Screenshot:

    
Kurt Pfeifle 18.07.2011 18:32
quelle
4

Sie können dasselbe mit einem Shell-Skript unter Linux machen. Das Skript umschließt drei Komponenten:

  1. ImageMagicks compare -Befehl
  2. das Dienstprogramm pdftk
  3. Ghostscript

Es ist ziemlich einfach, dies in eine .bat Batch-Datei für DOS / Windows zu übersetzen ...

Hier sind die Bausteine:

pdftk

Verwenden Sie diesen Befehl, um mehrseitige PDF-Dateien in mehrere einseitige PDFs aufzuteilen:

%Vor%

vergleichen

Verwenden Sie diesen Befehl, um eine "diff" PDF-Seite für jede der Seiten zu erstellen:

%Vor%

Beachten Sie, dass compare Teil von ImageMagick ist. Aber für die PDF-Verarbeitung benötigt Ghostscript als 'delegate' , weil er das nicht selbst tun kann.

Noch einmal, pdftk

Nun können Sie Ihre "diff" PDF-Seiten mit pdftk :

wieder verketten %Vor%

Ghostscript

Ghostscript fügt automatisch Metadaten (wie das aktuelle Datum und die Uhrzeit) in seine PDF-Ausgabe ein. Daher funktioniert dies nicht gut für MD5hash-basierte Dateivergleiche.

Wenn Sie automatisch alle Fälle ermitteln möchten, die aus rein weißen Seiten bestehen (dh es gibt keine sichtbaren Unterschiede auf Ihren Eingabeseiten), können Sie mit der Ausgabe bmp256 auch in ein Metadaten-freies Bitmap-Format konvertieren Gerät. Sie können das für die Original-PDFs (first.pdf und 2.pdf) oder für die diff-PDF-Seiten tun:

%Vor%

Erstellen Sie einfach eine vollständig weiße BMP-Seite mit ihrer MD5sum (als Referenz) wie folgt:

%Vor%     
Kurt Pfeifle 18.07.2011 18:20
quelle
1

Ich hatte dieses Problem selbst und der schnellste Weg, den ich gefunden habe, ist, PHP und seine Bindungen für ImageMagick (Imagick) zu verwenden.

%Vor%

Natürlich müssen Sie zuerst die ImageMagick-Bindungen installieren:

%Vor%     
paul.ago 09.12.2015 11:35
quelle
0

Ich habe ein Glas mit apache pdfbox zum Vergleichen von PDF-Dateien - das kann pixel by pixel & amp; Markieren Sie die Unterschiede.

Schau dir mein Blog an: Ссылка zum Beispiel & amp; herunterladen.

Um die Anzahl der Seiten zu ermitteln

%Vor%

Um Seiteninhalt als einfachen Text zu erhalten

%Vor%

Extrahieren Sie angehängte Bilder aus PDF

%Vor%

Speichern von PDF-Seiten als Bilder

%Vor%

Um PDF-Dateien im Textmodus zu vergleichen (schneller - Aber es vergleicht nicht das Format, Bilder usw. in der PDF)

%Vor%

Zum Vergleichen von PDF-Dateien im Binärmodus (langsamer - vergleicht PDF-Dokumente Pixel für Pixel - hebt PDF-Differenz hervor und speichert das Ergebnis als Bild)

%Vor%     
vins 14.06.2015 00:13
quelle

Tags und Links