Outil pour comparer un grand nombre de fichiers PDF?

Je dois comparer le grand nombre de fichiers PDF pour le contenu optique. Les fichiers PDF ayant été créés sur différentes plates-formes et avec différentes versions du logiciel, il existe des différences structurelles. Par exemple:

  • le découpage du texte peut être différent
  • l’ordre d’écriture peut être différent
  • la position peut être différente de quelques pixels

Il devrait comparer le contenu comme un peuple humain et non la structure interne. Je veux tester les régressions entre les différentes versions du générateur PDF que nous avons utilisé.

Parce qu’il n’existe aucun outil de ce type que nous ayons écrit. Vous pouvez télécharger le comparateur de contenu i-net PDF et l’utiliser. J’espère que cela aidera les autres avec le même problème. Si vous avez des problèmes ou si vous avez des commentaires pour nous, vous pouvez contacter notre assistance.

entrer la description de l'image ici

Il existe en fait un outil diffpdf.

http://www.qtrac.eu/diffpdf.html

Sa faiblesse réside dans le fait qu’elle ne réagit pas correctement lorsque des ajouts rendent le nouveau texte partiellement décalé vers une nouvelle page. Par exemple, si l’ancienne page 4 doit être comparée à la fin de la page 5 et au début de la page 6, vous devez modifier les parameters pour comparer les deux tranches séparément.

J’ai utilisé un script maison qui

  • convertit toutes les pages de deux PDF en bitmaps
  • pages couleurs du PDF 1 au rouge sur blanc
  • change de blanc en transparent sur les pages de PDF 2
  • recouvre chaque page du PDF 2 en haut de 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 la superposition
  • inotify pour la synchronisation des processus parallèles
  • n’importe quel visualiseur d’images compatible PNG pour examiner le résultat

Avantages:

  • mise en œuvre simple
  • tous les outils utilisés sont open source
  • idéal pour trouver de petites différences de disposition

Les inconvénients:

  • la conversion est lente
  • les différences majeures entre les PDF (pagination par exemple) entraînent un désordre
  • les bitmaps ne sont pas zoomables
  • ne fonctionne bien que pour les textes et les diagrammes en noir et blanc
  • aucune interface graphique facile à utiliser

J’ai cherché un outil qui ferait la même chose au niveau PDF / PostScript.

Voici comment notre script appelle les utilitaires (notez que ImageMagick utilise GhostScript en arrière-plan 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 

Je ne semble pas être en mesure de voir cela ici, alors voici: via superutilisateur: Comment comparer les différences entre deux fichiers PDF? (réponse # 229891, par @slestak) , il y a

https://github.com/vslavik/diff-pdf

(Les étapes de construction pour Ubuntu Natty peuvent être trouvées dans get-diff-pdf.sh )

Autant que je sache, il recouvre essentiellement le texte / les graphiques de chaque page du (des) pdf (s), vous permettant de voir facilement s’il y a des changements …

À votre santé!

Nous avons également utilisé pdftotext (voir la réponse de Sklivvz) pour générer des versions ASCII des fichiers PDF et wdiff pour les comparer.

Utilisez le -layout de pdftotext pour améliorer la lisibilité et avoir une idée des modifications apscopes à la présentation.

Pour obtenir une belle sortie couleur de wdiff, utilisez ce script d’encapsulation:

 #!/bin/sh RED=$'\e'"[1;31m" GREEN=$'\e'"[1;32m" RESET=$'\e'"[0m" wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2 

Je pense que votre meilleure approche serait de convertir le PDF en images avec une résolution décente et de comparer les images.

Pour générer des images à partir de fichiers PDF, vous pouvez utiliser Adobe PDF Library ou la solution proposée par Best pour convertir des fichiers pdf en fichiers tiff .

Pour comparer les fichiers TIFF générés, j’ai trouvé GNU tiffcmp (pour Windows dans GnuWin32 tiff ) et tiffinfo a fait du bon travail. Utilisez tiffcmp -l et comptez le nombre de lignes de sortie pour trouver des différences. Si vous êtes heureux de modifier un peu le contenu (par exemple, les différences d’anticrénelage), utilisez tiffinfo pour compter le nombre total de pixels et vous pourrez alors générer une valeur de différence en pourcentage.

Soit dit en passant, pour toute personne effectuant une simple comparaison PDF où la structure n’a pas changé, il est possible d’utiliser diff en ligne de commande et d’ignorer certains modèles, par exemple avec GNU diff 2.7:

  diff --brief -I xap: -I xapMM: -I / CreationDate -I / BaseFont -I / ID --binary --text 

Cela a toujours le problème qu’il ne prend pas toujours en compte les changements dans les noms de police générés.

Notre produit, PDF Comparator – http://www.premediasystems.com/pdfc.html “- le fera avec beaucoup d’élégance et d’efficacité. Ce n’est pas non plus gratuit et c’est une application Mac OS X uniquement.

Selon vos besoins, une solution de conversion en texte serait la plus simple et la plus directe. Je pensais que l’idée de bitmap était plutôt cool.

Le logiciel pdf de blubeam le fera pour vous

Vous pouvez comparer des fichiers PDF par lots avec Tarkware Pdf Comparer. Mais ce n’est pas gratuit et nécessite Adobe Acrobat.