Ich wollte dies in letzter Zeit (diff PDFs) mit diesen Anforderungen tun:
- Leerzeichen, Zeilenumbrüche, Seitenumbrüche usw. ignorieren
- Man kann leicht sehen, wenn sich nur ein paar Wörter geändert haben, nicht nur ganze Zeilen / Absätze.
- Farbdiff Ausgabe
Ich habe pdftotext, wdiff und colordiff installiert, verfügbar in verschiedenen Paketmanagern. (Mit Macports: sudo port install poppler wdiff colordiff
)
Dann:
wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff
Jetzt kann ich sehen, welche Wörter, schön gefärbt, sich geändert haben.
Weitere Informationen: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/
Variation:
Die Verwendung dwdiff
kann zu etwas besseren Ergebnissen führen.
Ich wollte auch HTML-Ausgabe, damit dieses winzige Skript eine einfache Webseite mit etwas CSS erstellt.
bash pc-script.bash old.pdf new.pdf > q.htlm
Dann öffnen Sie q.html
mit Ihrem Webbrowser.
pc-script.bash
Datei:
#!/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
Ein Beispiel für die Ausgabe finden Sie hier