Was ist der Unterschied zwischen pdfl compare und pdfl pixelcompare?
Zwei Befehle nehmen zwei PDFs und sagen, was sich geändert hat. Das sieht nach Dopplung aus — bis sie sich zum ersten Mal widersprechen. Dann stellt sich heraus, dass sie nie dieselbe Frage beantwortet haben.
pdfl compare fragt: was sagt das Dokument.
pdfl pixelcompare fragt: wie sieht das Dokument aus.
Eine Datei kann das eine bestehen und am anderen scheitern, in beide Richtungen.
pdfl compare: was das Dokument sagt
Abschnitt betitelt „pdfl compare: was das Dokument sagt“Es liest Text, Struktur und Metadaten:
pdfl compare freigabe_v1.pdf neu_v2.pdfWissenswert ist, wie es die Seiten einander zuordnet: nach Inhalt, nicht nach Nummer. Fügen Sie mitten in einen Vertrag eine Seite ein, meldet ein naiver Vergleich jede folgende Seite als geändert; dieser bemerkt die Einfügung und vergleicht weiter Gleiches mit Gleichem. Das trägt auch bei Dokumenten von über tausend Seiten.
Jedes zugeordnete Paar bekommt einen Ähnlichkeitswert und eine Auswahl der
Zeilen, die sich bewegt haben, - für entfernt und + für hinzugefügt:
page 4 → 4: similarity 97.8% | -original title | +revised titleGeänderte Metadaten sind eine Warnung. Geänderter Text ist ein Fehler, wenn er unter den gesetzten Schwellenwert fällt, und eine Warnung, wenn er darüber bleibt.
# Groß-/Kleinschreibung, Abstände und Daten ignorieren — nützlich, wenn das# Ausgabedatum bei jedem Export neu erzeugt wird und nicht geprüft werden sollpdfl compare freigabe_v1.pdf neu_v2.pdf --normalize --ignore-dates
# Bis zu 1 % Abweichung zulassen und etwas Lesbares erzeugenpdfl compare v1.pdf v2.pdf --similarity-threshold 99 \ --output html --output-file diff.htmlpdfl pixelcompare: wie das Dokument aussieht
Abschnitt betitelt „pdfl pixelcompare: wie das Dokument aussieht“Es rendert beide Dateien und vergleicht die Seiten als Bilder:
pdfl pixelcompare freigabe.pdf nachdruck.pdfEin Befund je geänderter Seite, mit dem Anteil, der abweicht, und der Zahl getrennter Stellen:
page 7: 0.51% of the pixels differ, in 29 area(s)Zuerst gleicht es eine globale Verschiebung aus, denn eine aus derselben Quelle neu exportierte Datei landet oft ein, zwei Pixel daneben — ohne das zählte jede Buchstabenkante als Unterschied:
page 3: 2.10% of the pixels differ, in 44 area(s) (aligned by 2, -1 px)Und es kann einen Ort zum Hinsehen schreiben:
pdfl pixelcompare freigabe.pdf nachdruck.pdf --viewer diff/Der Ordner enthält die Seiten, die Unterschiede und eine index.html — kein
Server, nichts zu installieren. Rot ist verschwundene Farbe, Grün neue Farbe,
Blau dieselbe Deckung in einem anderen Ton.
Wo sie sich widersprechen
Abschnitt betitelt „Wo sie sich widersprechen“Der Text ist identisch und die Datei ist falsch. Ein Logo, zwei Millimeter
verschoben. Eine verschwundene Haarlinie. Eine Sonderfarbe, ersetzt durch ihren
CMYK-Aufbau. compare meldet in allen drei Fällen eine perfekte
Übereinstimmung, denn kein Zeichen hat sich bewegt. pixelcompare fängt alle
drei.
Die Datei sieht identisch aus und der Text ist falsch. Der Titel in den
Metadaten wurde ersetzt oder ein Autorenfeld umgeschrieben. Auf der Seite
bewegt sich kein Pixel, also sieht pixelcompare zwei identische Dokumente.
compare meldet die Änderung.
Keines von beiden enthält das andere. Genau darum geht es.
Vier Situationen und was zu starten ist
Abschnitt betitelt „Vier Situationen und was zu starten ist“Ein Vertrag kommt aus der Rechtsabteilung zurück. Sie müssen wissen, was der Wortlaut jetzt sagt im Vergleich zu vorher. Der Umbruch wird sich geändert haben, und das ist Ihnen gleich.
pdfl compare vertrag_v3.pdf vertrag_v4.pdf --ignore-dates \ --output html --output-file pruefung.htmlEin Nachdruck ist von der Lieferantin eingetroffen. Nichts darf anders aussehen als der freigegebene Proof. Ob der Text bis aufs Byte gleich ist, geht an der Frage vorbei — was aufs Papier kommt, ist die Frage.
pdfl pixelcompare freigabe.pdf nachdruck.pdf --viewer diff/Dasselbe Dokument, mit einem anderen Werkzeug exportiert. Eine Lieferantin hat die Software gewechselt. Die Worte müssen unversehrt bleiben, das Erscheinungsbild wird wahrscheinlich ein wenig abweichen. Das braucht beide, und sie prüfen verschiedene Zusagen:
pdfl compare export_alt.pdf export_neu.pdf --normalizepdfl pixelcompare export_alt.pdf export_neu.pdf --max-diff 0.1 --viewer diff/Ein regulierter Beipackzettel oder ein Etikett. Der Warnhinweis ist gesetzlich vorgeschrieben, und das Layout hat jemand freigegeben und unterschrieben. Beides bindet, also wird beides geprüft — und der Viewer-Ordner ist das, was Sie der Freigabe beilegen.
pdfl compare freigabe.pdf druckdatei.pdfpdfl pixelcompare freigabe.pdf druckdatei.pdf --viewer nachweis/Beide zugleich, als Tor
Abschnitt betitelt „Beide zugleich, als Tor“Jeder Befehl endet mit einem Code, ein Skript entscheidet also, ohne etwas zu
lesen. pixelcompare nutzt 0, wenn keine Seite über der Toleranz liegt, 2,
wenn eine darüber liegt, und 10, wenn eine Datei nicht lesbar war; compare
folgt der Konvention aller prüfenden Befehle — 0 bestanden, 1 Warnungen,
2 Fehler, 10 nicht lesbar.
#!/bin/sh# Zwei Zusagen, ein Tor: die Worte und das Aussehen.set -e
pdfl compare freigabe.pdf kandidat.pdf --output-file text-diff.json || { echo "der Wortlaut hat sich geändert — siehe text-diff.json" exit 1}
pdfl pixelcompare freigabe.pdf kandidat.pdf --max-diff 0.05 --viewer diff/ || { echo "es sieht nicht gleich aus — diff/index.html öffnen" exit 1}
echo "gleiche Worte, gleiches Aussehen"Welcher, in einer Zeile
Abschnitt betitelt „Welcher, in einer Zeile“| Ihre Frage | Der Befehl |
|---|---|
| Hat sich der Wortlaut geändert? | pdfl compare |
| Haben sich die Metadaten geändert? | pdfl compare |
| Wurde eine Seite eingefügt oder entfernt? | pdfl compare |
| Hat sich etwas verschoben, ist verschwunden oder hat die Farbe gewechselt? | pdfl pixelcompare |
| Druckt es noch gleich? | pdfl pixelcompare |
| Ist das die freigegebene Datei? | beide |
Wo es weitergeht
Abschnitt betitelt „Wo es weitergeht“Das CLI-Kapitel dokumentiert jede Option von beiden, und die Rezepte setzen sie in vollständige Abläufe. Hier steht außerdem ein Beitrag über den pixelgenauen Vergleich und darüber, was eine falsche Datei kostet, sobald sie auf der Maschine ist.