Comment changer du texte dans tout un fichier pdf

Un client m’a demandé une présentation que j’ai donnée il y a quelques mois. Je cherche, mais je ne trouve plus l’original, uniquement un fichier pdf dans un mail. Je l’ouvre et je remarque que sur toutes les pages, j’ai mis mon adresse email et mon numéro de téléphone – malheureusement les deux ont changé… Quoi faire?

Documents - une pile

Il y a certainement des outils graphiques et payants qui permettent d’éditer les fichiers pdf. Je me rappelle vaguement qu’avec Acrobat Pro on peut changer des textes, mais pas dans le fichier en entier.

Comme je travaille sur une machine Linux et que j’ai une grande affinité avec la ligne de commande, voici comment substituer ou effacer un texte dans un fichier pdf :

Procédure pour modifier le fichier pdf depuis une ligne de commande

Procurez-vous de l’outil pdftk pour votre plateforme

Décompresser

La plupart des fichiers pdf sont compressés. Avant de modifier le fichier il faut donc le décompresser avec la commande suivante:

pdftk inputfile.pdf output uncompressed.pdf uncompress

Le fichier en entrée s’appelle « inputfile.pdf » ici et le fichier décompressé en  sortie « uncompressed.pdf »

Modifier

Prenez votre éditeur de texte préféré pour remplacer le texte dans le fichier. Sous Windows, Notepad fait l’affaire, Notepad++ est mieux, mais Word p.ex. ne marche pas très bien si vous ne maîtrisez pas les fichiers sans formatage. Par précaution, sauvegardez le fichier modifié sous un autre nom, p.ex. modifie.pdf

Sous Linux, le stream editor sed fait cela très efficacement avec la commande de substitution « s/old/new/ » et le flag « /g » pour une substitution globale:

sed -e "s/ancien/nouveau/g" <uncompressed.pdf >modifie.pdf

Réparer

Le fichier ainsi modifié est « corrompu » d’un point de vue logique et il faut le réparer. De plus, pour économiser la place, on va le compresser de nouveau:

pdftk modifie.pdf output final.pdf compress

et voilà, mon fichier est prêt pour l’envoi!

Les commentaires sont désactivés.