J'ai utilisé un script maison qui
- convertit toutes les pages de deux PDF en bitmaps
- colorie les pages du PDF 1 en rouge sur blanc
- change le blanc en transparent sur les pages du PDF 2
- superpose chaque page du PDF 2 sur la page correspondante du PDF 1
- exécute la conversion/coloration et la superposition en parallèle sur plusieurs cœurs.
Logiciel utilisé :
- GhostScript pour la conversion de PDF en bitmap
- ImageMagick pour la coloration, la transparence et les superpositions
- inotify pour la synchronisation des processus parallèles
- tout visualiseur d'images compatible avec le format PNG pour examiner le résultat.
Pour :
- application simple
- tous les outils utilisés sont open source
- idéal pour trouver de petites différences dans la mise en page
Cons :
- la conversion est lente
- les différences majeures entre les PDF (par exemple, la pagination) entraînent un désordre.
- les bitmaps ne sont pas zoomables
- ne fonctionne bien que pour les textes et diagrammes en noir et blanc
- pas de GUI facile à utiliser
J'ai cherché un outil qui ferait la même chose au niveau du PDF/PostScript.
Voici comment notre script invoque les utilitaires (notez qu'ImageMagick utilise GhostScript en coulisse pour effectuer la conversion PDF->PNG) :
$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images