Aller au contenu

Comment utiliser pdfl pixelcompare --viewer

Un rapport indique que la page 3 a changé de 0,04 %. Il ne dit pas s’il s’agit d’un trait d’union égaré ou d’un prix faux. Pour cela il faut regarder, et --viewer est ce avec quoi on regarde.

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

Cela écrit un dossier : trois PNG par page et un index.html. Pas de serveur, pas de CDN, rien à installer — ouvrez le fichier. Zippez le dossier et la personne qui doit valider le retirage l’ouvrira aussi, sur une machine où rien n’est installé.

La visionneuse ouverte à la page 3 sur 286 : trois volets côte à côte, une bande de pages en haut, et une barre de découpe traversant les trois

Trois volets, toujours sur la même page.

Volet Ce qu’il contient
Original la page du premier fichier, intacte
New la page du second fichier, intacte
Difference les deux, avec ce qui a changé peint par-dessus

La ligne du haut est le résumé : quels fichiers ont été comparés, 100 of 286 page(s) differ · worst 0.11%, et pour la page où vous êtes, page 3 · 0.04% of pixels differ.

Une paire de barres — une verticale, une horizontale — traverse les trois volets au même endroit, et elles bougent dans les trois à la fois. Elles suivent le pointeur. Il n’y a rien à saisir ni rien à viser : le croisement est là où se trouve la souris.

Dans Difference, les barres découpent. Le nouveau fichier apparaît à droite de la verticale et sous l’horizontale ; l’original partout ailleurs. Laissée tranquille, l’horizontale reste en haut, ce qui fait de la verticale une simple découpe sur toute la hauteur. Descendez l’horizontale quand ce que vous cherchez court dans une bande plutôt que dans une colonne.

Dans Original et New, ces mêmes barres sont des règles, sur la même colonne et la même ligne de la page. Ce que la découpe dévoile se retrouve donc sur l’une ou l’autre page intacte sans mesurer à l’œil.

Les deux positions sont des pourcentages de la page et non du volet : elles survivent au changement de page et au redimensionnement de la fenêtre.

Sur n’importe quel volet, les différences sont peintes sur place, et la couleur dit de quel type :

Couleur Signification
Rouge encre disparue du nouveau fichier
Vert encre nouvelle dans celui-ci
Bleu même densité, couleur différente

Voici à quoi ressemble un changement d’une seule lettre à la page 3 d’un document de 286 pages :

Gros plan du volet des différences : le mot outubro recouvert de rouge et de vert là où il est devenu outubrb

outubro est devenu outubrb. Le rouge est la lettre partie, le vert celle arrivée. Rien d’autre n’a bougé sur la page, et une personne faisant défiler deux fenêtres côte à côte serait passée droit dessus.

La bande du haut, ce sont les pages, chacune avec la part qui diffère.

Elle s’ouvre sur les pages qui diffèrent. Sur ce document, 100 sur 286 ; All remet les 186 autres. Les flèches et ← → suivent le filtre, en enjambant ce que la bande masque au lieu de s’y arrêter, et passer à la vue filtrée depuis une page inchangée vous amène à la plus proche qui a changé.

Quand rien ne diffère, le bouton le dit et reste désactivé plutôt que de filtrer la bande jusqu’à la vider.

La molette zoome jusqu’à 8×, et les trois volets zooment ensemble autour du point sous le pointeur — ce que vous regardiez reste donc où il était. Le dézoom s’arrête à la page entière : le volet est déjà dimensionné pour la contenir et il n’y a rien d’utile en deçà.

En maintenant l’un ou l’autre bouton de la souris et en bougeant, on fait glisser la page elle-même, là encore dans les trois volets, à la vitesse du pointeur quel que soit le zoom. C’est ainsi qu’on atteint un coin une fois agrandi. Les barres continuent de suivre le pointeur pendant le déplacement, et gardent leur épaisseur à tout niveau de zoom.

Reset view remet le zoom, le déplacement et les barres au départ. Le bouton est désactivé tant qu’il n’y a rien à annuler.

Changer de page repart de la page entière. Un zoom et un déplacement appartiennent à la page où ils ont été réglés ; reportés, ils tomberaient là où la page suivante a quelque chose, par hasard.

La visionneuse montre ce que la comparaison a trouvé : les options qui changent la comparaison changent donc ce que vous voyez.

Terminal window
# Regarder de plus près. 150 dpi par défaut ; 300 voit plus et prend plus de temps
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --dpi 300
# Ignorer les pages ayant changé de moins de 0,1 % de leur surface
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --max-diff 0.1
# Une partie du document seulement
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --pages 1-10,42
# Absorber le bruit de rendu avant de comparer
pdfl pixelcompare a.pdf b.pdf --viewer diff/ --threshold 0.1 --blur 1

Une dernière mérite d’être comprise. Un fichier réexporté depuis la même source retombe souvent à un ou deux pixels près, et sans compensation le bord de chaque lettre compte comme une différence. La comparaison cherche donc un décalage global unique et le signale quand elle en trouve un :

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

Désactivez cela avec --no-align quand c’est la position elle-même que vous vérifiez.

Le chapitre du CLI contient toutes les options, l’affichage de progression et les notes de vitesse. Il y a aussi ici des articles sur ce que coûte un mauvais fichier une fois sur presse et sur quand recourir à compare à la place.

DigitalOceanMerci à DigitalOcean d’héberger ce site.