228 votes

Comment comparer les différences entre deux fichiers PDF sous Windows ?

Connaissez-vous un bon moyen de comparer des fichiers PDF côte à côte et de montrer les modifications entre les deux ?

Je suis à la recherche d'un logiciel Windows pour accomplir cette tâche. Ce serait formidable si vous pouviez afficher des produits gratuits et payants.

1 votes

1 votes

Il existe une bibliothèque GRATUITE pour comparer les pdf pixel par pixel. Consultez ce blog : testautomationguru.com/

0 votes

Gratuit. s'exécute dans un navigateur et fonctionne donc sur tous les systèmes d'exploitation. cliquez sur l'icône de sélection de texte en haut à droite, puis ouvrez le document principal dans le volet de gauche et le document secondaire dans la page de droite. cliquez ensuite sur le bouton de lecture en haut à gauche pour lancer la comparaison. faites ensuite défiler les pages pour voir les différences. demo.leadtools.com/JavaScript/DocumentComparison/index.html

186voto

Dave Points 2554

Sous Linux et Windows, vous pouvez utiliser diffpdf (qui diffère de diff-pdf mentionné dans ce fil).

enter image description here

Sur Ubuntu, installez en utilisant :

sudo apt-get install diffpdf

Voir plus loin cette page UbuntuGeek sur la comparaison des pds textuellement ou visuellement .

Pour Windows cette version Windows de Diffpdf fonctionne vraiment bien. Vous pouvez la télécharger à partir de http://soft.rubypdf.com/software/diffpdf (faire défiler jusqu'à Version statique Win32 ).

14 votes

Le nom propre est DiffPDF (comme on le voit dans la capture d'écran) et il est basé sur Qt 4 et la bibliothèque Poppler, donc il es portable. Voir la page d'accueil de DiffPDF : qtrac.eu/diffpdf.html . Les informations sur la construction de Windows sont ici : soft.rubypdf.com/software/diffpdf . Et votre instruction d'installation fonctionne aussi sur Debian.

0 votes

Diffpdf semble manquer certaines différences sur ma machine Ubuntu Lucid.

4 votes

La page d'accueil de DiffPDF contient maintenant des liens pour les installations Linux, Windows et Mac DMG ( qtrac.eu/diffpdf.html ).

117voto

Kenneth Cochran Points 2249

Essayez WinMerge avec le xdocdiff plugin. Les deux sont entièrement gratuits. Aucune condition n'est requise.


Quelques-uns des commentaires ci-dessous suggèrent qu'ils ne voient pas de différence. Cela signifie que le plug-in n'est pas installé correctement. Voici comment faire :

  1. Placez les fichiers là où le xdocdiff Le fichier readme du plugin indique où les placer (il y a deux endroits ; je ne les énumérerai pas ici car les noms de fichiers peuvent changer, etc. - lisez le readme)

  2. Dans WinMerge, allez dans Plugins > Liste et cochez la case "Activer les plugins" (cette étape est manquante dans la version anglaise de WinMerge). xdocdiff readme)

  3. Dans WinMerge, choisissez Plugins > Déballage automatique (ceci était désactivé avant l'étape 2).

Ensuite, lors de la comparaison, vous verrez ce qui ressemble à des fichiers texte dans les fenêtres de comparaison.

0 votes

J'ai essayé mais je n'ai pas vu de différence en n'utilisant pas le plugin xdocdiff. Y a-t-il une option à sélectionner dans l'interface utilisateur de WinMerge ?

2 votes

Quel est le but de l'affichage du texte binaire dans un PDF ? Je m'attendais à voir les différences visuelles comme le fait i-net PDFC .

0 votes

Y avait-il un moyen de faire en sorte qu'il puisse supporter les ruptures de colonne ? Sans cela, un changement se transforme en plusieurs.

48voto

Debashis Dip Points 27

J'ai trouvé ça récemment et je l'adore.

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

Multiplateforme, gratuit, et fonctionne bien.

Voici une capture d'écran de diff-pdf en action - notez que le texte n'est pas différent dans le PDF, mais seulement les polices (et par conséquent, les paramètres de mise en page) :

diff-pdf.png

L'appel pour obtenir cette image était :

diff-pdf --view testA.pdf testB.pdf

... où testA.pdf/testB.pdf sont obtenus en compilant ce fichier Latex simple avec pdflatex (en conséquence pour chaque pdf, voir commentaire) :

\documentclass[12pt]{article}

                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}

\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}

11 votes

Une dernière remarque sur diff-pdf : DiffPDF est idéal pour une comparaison visuelle rapide côte à côte du texte modifié, mais il est pratiquement impossible de déboguer des choses telles que, par exemple, de petites modifications de l'interligne. diff-pdf d'autre part, met essentiellement le contenu des pages des deux fichiers comparés sur la même page (mais avec une couleur différente) - ainsi les problèmes d'interligne peuvent être facilement identifiés... A la vôtre !

0 votes

C'est génial ! Existe-t-il un moyen de suivre la progression des fichiers volumineux lors de la sortie vers un fichier PDF (sans utiliser l'option --view) ? L'option verbose /v ne semble rien faire. De plus, lorsque vous exécutez la commande pour générer un PDF de comparaison, elle s'exécute dans un processus séparé et ne met pas en pause l'invite de commande comme cela se produit normalement lorsque vous exécutez quelque chose à partir de l'invite.

0 votes

C'est celui dont j'avais besoin. Je compare des rapports PDF sur des exécutions numériques, et je cherche donc les différences d'un chiffre sur une page entière. Le problème est que je ne peux pas identifier les caractères cyan, mais savoir où se trouve la différence est suffisant pour la trouver dans les rapports originaux.

22voto

Epaga Points 439

Nous avions également besoin de comparer des PDF dans notre entreprise et n'étions pas satisfaits des solutions que nous avions trouvées, nous avons donc créé la nôtre : i-net PDFC . Il n'est pas gratuit, mais nous proposons un essai de 30 jours.

Il est écrit en Java, donc il est multiplateforme.

screenshot

Ce qui le rend spécial, c'est qu'il compare le contenu, et pas seulement le texte (ou simplement la conversion du PDF en image et la comparaison de l'image). Il dispose également d'un bel outil de comparaison visuelle.

1 votes

Joli logiciel.

0 votes

Je n'ai pas réussi à le faire fonctionner. J'ai chargé les deux fichiers et cliqué sur le bouton de comparaison, mais rien ne se passe.

1 votes

Gère correctement les différences entre les pages. Dispose d'une fonctionnalité d'exportation/impression. Différents profils de comparaison (y compris personnalisés). Le passage de la souris vous donne plus de détails sur ce qui a changé. Très belle apparence. Les inconvénients sont l'essai/le coût et le fait qu'il ne gère pas les déplacements. Définitivement supérieur aux outils votés plus haut IMO.

14voto

philfreo Points 213

J'ai voulu faire cela (différencier les PDF) récemment avec ces exigences :

  • ignore les espaces blancs, les sauts de ligne, les sauts de page, etc.
  • voir facilement quand quelques mots seulement ont été modifiés, et non des lignes/paragraphes entiers.
  • Diffusion des couleurs

J'ai installé pdftotext, wdiff, et colordiff, disponibles dans différents gestionnaires de paquets. (Avec macports : sudo port install poppler wdiff colordiff )

Ensuite :

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

Maintenant je peux voir quels mots, joliment colorés, ont changé.

Plus de détails : http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

Variation :

Utilisation de dwdiff peut produire des résultats légèrement meilleurs.

Je voulais aussi une sortie HTML, donc ce petit script fait une page web basique avec un peu de CSS.

bash pc-script.bash old.pdf new.pdf > q.htlm

Ensuite, ouvrez q.html avec votre navigateur web.

pc-script.bash fichier :

#!/bin/bash

OLD="$1"
NEW="$2"

cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus  { color: green; background: #E7E7E7;                                }
.minus { color: red;   background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF

dwdiff -i -A best -P      \
  --start-delete='<span class="minus">' --stop-delete='</span>' \
  --start-insert='<span class="plus" >' --stop-insert='</span>' \
  <( pdftotext -enc UTF-8 -layout "$OLD" - )   \
  <( pdftotext -enc UTF-8 -layout "$NEW" - )   \

cat <<EOF
</pre></body></html>
EOF

Un exemple de sortie peut être vu aquí

enter image description here

0 votes

@philcolbourn Google+ est en train d'être fermé, partagez peut-être la capture d'écran via imgur ?

1 votes

En passant, je suis tombé sur ce petit dépôt : github.com/tpltnt/cli-diffpdf/blob/master/cli-diffpdf.sh

0 votes

Si vous utilisez Windows, Mac, Fedora, openSUSE ou si vous êtes capable de compiler les binaires à partir des sources de votre système, diff-pdf est une meilleure solution qui accomplit ceci sans avoir besoin d'installer trois dépendances différentes. A ne pas confondre avec diffpdf mentionné dans une autre réponse, qui fonctionne uniquement via l'interface graphique.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X