Je dois comparer un grand nombre de fichiers PDF pour ce contenu optique. Parce que les fichiers PDF ont été créés sur différentes plates-formes et avec différentes versions du logiciel, il existe différences structurelles, par exemple:
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'y a pas un tel outil disponible que nous en avons écrit un. Vous pouvez télécharger le i-net PDF content comparer et l'utiliser. J'espère que cela aidera les autres avec le même problème. Si vous avez des problèmes avec lui ou si vous avez des commentaires pour nous, vous pouvez contacter notre support.
Il existe en fait un outil diffpdf.
http://www.qtrac.eu/diffpdf.html
Sa faiblesse est qu'il ne réagit pas bien lorsque les ajouts font que le nouveau texte se déplace partiellement 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 devrez modifier les paramètres pour comparer les deux tranches séparément.
J'ai utilisé un script fait maison qui
Logiciels utilisés:
Avantages:
Les inconvénients:
Je cherchais un outil qui ferait de même 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 se trouvent dans get-diff-pdf.sh )
Pour autant que je sache, il superpose essentiellement le texte/graphiques de chaque page dans le (s) pdf (s), vous permettant de voir facilement s'il y a eu des changements ...
À votre santé!
Nous avons également utilisé pdftotext (voir la réponse de Sklivvz) pour générer ASCII des PDF et wdiff pour les comparer.
Utilisez le commutateur -layout
De pdftotext pour améliorer la lisibilité et avoir une idée des changements dans la mise en page.
Pour obtenir une sortie colorée de Nice à partir de wdiff, utilisez ce script wrapper:
#!/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 à une résolution décente et de comparer une image.
Pour générer des images à partir de PDF vous pouvez utiliser Adobe PDF Library ou la solution suggérée à Meilleure façon de convertir des fichiers pdf en fichiers tiff .
Pour comparer les fichiers TIFF générés, j'ai trouvé GNU tiffcmp (pour une partie Windows de GnuWin32 tiff ) et tiffinfo a fait du bon travail. Utilisez tiffcmp -l et comptez le nombre de lignes de sortie pour trouver les différences. Si vous êtes satisfait d'avoir un petit changement de contenu (par exemple, des différences d'anti-aliasing), utilisez tiffinfo pour compter le nombre total de pixels et vous pouvez alors générer une valeur de différence en pourcentage.
Soit dit en passant, pour quiconque fait 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 de ne pas toujours intercepter les modifications des noms de police générés.
Selon vos besoins, une solution de conversion en texte serait la plus simple et la plus directe. Je pensais que l'idée du bitmap était plutôt cool.
Notre produit, PDF Comparator - http://www.premediasystems.com/pdfc.html "-, le fera de manière élégante et efficace. Ce n'est pas non plus gratuit, et est une application Mac OS X uniquement.
le logiciel pdf bluebeam le fera pour vous
Vous pouvez batch comparer pdf fichiers avec Tarkware Pdf Comparer. Mais ce n'est pas gratuit et nécessite Adobe Acrobat.