Zum Inhalt springen

Wie man pdfl pixelcompare --viewer benutzt

Ein Bericht sagt, Seite 3 habe sich um 0,04 % geändert. Er sagt nicht, ob das ein verirrter Bindestrich ist oder ein falscher Preis. Dafür muss man hinsehen, und --viewer ist das, womit man hinsieht.

Terminal window
pdfl pixelcompare cf_a.pdf cf_b.pdf --viewer pixelcompare/

Das schreibt einen Ordner: drei PNGs je Seite und eine index.html. Kein Server, kein CDN, nichts zu installieren — Datei öffnen. Zippen Sie den Ordner, und die Person, die den Nachdruck freigeben muss, öffnet ihn ebenfalls, auf einem Rechner, auf dem nichts installiert ist.

Der Viewer auf Seite 3 von 286: drei Bereiche nebeneinander, oben ein Seitenstreifen, und ein Schnittbalken durch alle drei

Drei Bereiche, immer auf derselben Seite.

Bereich Was darin steht
Original die Seite der ersten Datei, unangetastet
New die Seite der zweiten Datei, unangetastet
Difference beide, mit dem Geänderten darübergemalt

Die oberste Zeile ist die Zusammenfassung: welche Dateien verglichen wurden, 100 of 286 page(s) differ · worst 0.11%, und für die Seite, auf der Sie sind, page 3 · 0.04% of pixels differ.

Ein Balkenpaar — einer aufrecht, einer flach — durchquert alle drei Bereiche an derselben Stelle und bewegt sich in allen dreien zugleich. Die Balken folgen dem Zeiger. Es gibt nichts zu greifen und nichts zu treffen: Der Kreuzungspunkt ist da, wo die Maus ist.

In Difference schneiden die Balken. Rechts vom aufrechten und unter dem flachen erscheint die neue Datei, überall sonst das Original. Bleibt er unberührt, sitzt der flache Balken oben, womit der aufrechte ein schlichter Schnitt über die volle Höhe ist. Ziehen Sie den flachen herunter, wenn das Gesuchte in einem Band statt in einer Spalte verläuft.

In Original und New sind dieselben Balken Lineale, auf derselben Spalte und derselben Zeile der Seite. Was der Schnitt freilegt, findet sich damit auf jeder der unangetasteten Seiten wieder, ohne mit dem Auge zu messen.

Beide Positionen sind Prozentwerte der Seite, nicht des Bereichs — sie überstehen einen Seitenwechsel und das Ändern der Fenstergröße.

Über jedem der Bereiche werden die Unterschiede an Ort und Stelle gemalt, und die Farbe sagt, welcher Art:

Farbe Bedeutung
Rot Farbe, die in der neuen Datei fehlt
Grün Farbe, die dort neu ist
Blau gleiche Deckung, andere Farbe

So sieht eine Änderung von einem Buchstaben auf Seite 3 eines Dokuments von 286 Seiten aus:

Nahaufnahme des Unterschiedsbereichs: das Wort outubro mit Rot und Grün überlagert, wo es zu outubrb wurde

Aus outubro wurde outubrb. Rot ist der Buchstabe, der ging, Grün der, der kam. Sonst hat sich auf der Seite nichts bewegt, und wer zwei Fenster nebeneinander durchscrollt, hätte glatt darüber hinweggelesen.

Der Streifen oben sind die Seiten, jede mit dem Anteil, der abweicht.

Er öffnet auf den Seiten, die abweichen. In diesem Dokument sind das 100 von 286; All holt die anderen 186 zurück. Die Pfeile und ← → folgen dem Filter und überspringen, was der Streifen ausblendet, statt darauf zu landen; und wer von einer unveränderten Seite aus auf die gefilterte Ansicht wechselt, landet auf der nächstgelegenen, die sich geändert hat.

Weicht gar nichts ab, sagt die Schaltfläche das und bleibt deaktiviert, statt den Streifen auf nichts zusammenzufiltern.

Das Mausrad zoomt bis 8×, und alle drei Bereiche zoomen gemeinsam um den Punkt unter dem Zeiger — was Sie angesehen haben, bleibt also, wo es war. Das Herauszoomen endet bei der ganzen Seite: Der Bereich ist ohnehin so bemessen, dass die Seite hineinpasst, und darunter gibt es nichts Nützliches.

Hält man eine der beiden Maustasten und bewegt sich, zieht man die Seite selbst, wieder in allen dreien, mit der Geschwindigkeit des Zeigers bei jedem Zoom. So erreicht man eine Ecke, wenn vergrößert ist. Die Balken folgen dabei weiter dem Zeiger und behalten bei jedem Zoom ihre Stärke.

Reset view setzt Zoom, Verschiebung und Balken auf den Ausgangspunkt zurück. Solange es nichts rückgängig zu machen gibt, ist die Schaltfläche deaktiviert.

Ein Seitenwechsel beginnt wieder bei der ganzen Seite. Zoom und Verschiebung gehören zu der Seite, auf der sie eingestellt wurden; mitgenommen landeten sie dort, wo die nächste Seite zufällig etwas hat.

Der Viewer zeigt, was der Vergleich gefunden hat — die Optionen, die den Vergleich ändern, ändern also, was Sie sehen.

Terminal window
# Genauer hinsehen. 150 dpi ist die Vorgabe; 300 sieht mehr und dauert länger
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --dpi 300
# Seiten ignorieren, die sich um weniger als 0,1 % ihrer Fläche geändert haben
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --max-diff 0.1
# Nur einen Teil des Dokuments
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --pages 1-10,42
# Rausch aus dem Rendern vor dem Vergleich schlucken
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --threshold 0.1 --blur 1

Eine weitere lohnt das Verständnis. Eine aus derselben Quelle neu exportierte Datei landet oft ein, zwei Pixel daneben, und ohne Ausgleich zählte jede Buchstabenkante als Unterschied. Der Vergleich sucht deshalb nach einer einzigen globalen Verschiebung und meldet sie, wenn er eine findet:

page 3: 2.10% of the pixels differ, in 44 area(s) (aligned by 2, -1 px)

Mit --no-align schalten Sie das ab, wenn die Position selbst das Geprüfte ist.

Das CLI-Kapitel hat jede Option, die Fortschrittsanzeige und die Anmerkungen zur Geschwindigkeit. Hier stehen außerdem Beiträge darüber, was eine falsche Datei kostet, sobald sie auf der Maschine ist, und wann stattdessen compare zu greifen ist.

DigitalOceanDank an DigitalOcean für das Hosting dieser Website.