Recadrer un document PDF multipage

Il s’agit ici de recadrer un document PDF multipage, par exemple pour réduire des marges démesurées, ou retirer les bandes noires apparues après la numérisation d’un document de petite taille. L’intérêt ? d’abord réduire le poids du fichier (qui contiendra de fait moins d’informations), ensuite pour faire de substantielles économies d’encre en cas d’impression, ou encore améliorer la lisibilité de ces documents sur petits écrans (téléphone, tablettes...). Voici trois méthodes acceptables dénichées au cours de mes pérégrinations, qui ont chacune leurs inconvénients et avantages.

Quelques précisions

Petite mise en garde pour commencer, notre objectif est ici de traiter en une fois toutes les pages de votre document PDF. Le principe est d’appliquer un seul jeu de paramètres à l’ensemble des pages, par conséquent, si votre document n’a pas été à chaque fois positionné à l’identique, alors les coupes ne se feront pas aux bons endroits.

Notons ensuite que si quelques outils de recadrage grand public existe, leur nature justifie cependant que l’on cherche des solutions alternatives. Tout d’abord parce qu’il ne s’agit pas véritablement de rognage mais plutôt de masquage, le document n’est de ce fait pas allégé des informations inutiles. Ensuite, ce recadrage virtuel n’est pas restitué la même manière selon le logiciel utilisé pour lire le document, provoquant des erreurs d’affichages problématiques si ce dernier a vocation à être partagé.

Utiliser TheGimp...

Voici une méthode (ici décrite notamment), qui concerne toutes les systèmes sur lesquels TheGimp fonctionne. L’avantage principale de cette solution est qu’elle seule autorise une sélection à la souris de la zone à garder. Par contre, c’est une méthode qui consomme énormément de ressources, rendant quasi-impossible le traitement de fichiers volumineux (à moins d’avoir une machine vraiment puissante et du temps devant soi).

Prérequis

  • TheGimp : pour l’installation, voyez sous Microsoft Windows cette page, ou celle-cii sous Mac OSX. Concernant GNU/Linux, reportez vous aux dépôts de votre distribution. Pour toute aide sur cette étape ce site francophone pourra vous être utile.
  • Imagemagick (ou GraphicsMagick) : sous Mac OSX et sous Microsoft Windows, rendez-vous à la page indiquée, téléchargez le programme et installez-le ; sous GNU/Linux il est très probablement - sous forme de paquet - dans les dépôts de votre distribution.

Mode d’emploi

  1. Ouvrez le document PDF comme une image classique. Dans la fenêtre d’importation qui s’ouvre : vous choisissez (a priori) de sélectionner tout, et - important - aussi d’ouvrir les pages en tant que calque. Vous validez en laissant le reste tel quel.
  2. Choisissez l’outil de découpage (raccourcis clavier : Maj+C), et sélectionnez la zone utile. Validez en tapant Entrée, voici votre document recadré.
  3. Il est normal que vous ne voyez apparaître que la première page, les autres sont bien présentes en tant que calques non-visibles, et ont été découpées avec le reste du document. À ce sujet, n’oublions pas ce petit réglage sans quoi l’ordre des pages sera sur le résultat final en ordre inversé : dans le menu Calques puis Pile et choisissez Inverser l’ordre des calques.
  4. Enregistrer sous maintenant avec le nom de votre choix, à l’emplacement qui vous convient le mieux sous le format Animation MNG. En effet, si Gimp importer les documents PDF, il ne sait pas les exporter. Nous sommes donc obligés de bricoler pour préserver la forme PDF de notre fichier.
  5. Pour cela, nous utilisons l’outil Imagick (ou GraphicsMagick) dans un terminal :

convert document.mng document.pdf

Et voici pour cette première méthode.

... ou redistiller ...

La seconde méthode a pour avantage d’être la seule ne pas recourir à des outils en ligne de commande. Il s’agit ici de redistiller le document PDF, c’est-à-dire l’imprimer virtuellement sous de nouvelles dimensions. Classiquement, nous allons abandonner le format A4 pour un autre plus petit, la difficulté principale étant de choisir le format le plus adapté. Impossible pour moi de vous aider sur ce point autrement qu’en vous invitant à vous rendre sur cette page qui répertorie les formats à votre disposition.

Prérequis

  • Acrobat Reader (gratuit), quelque soit votre système d’exploitation. Pour l’installation, sous Mac OSX et Microsoft Windows rendez vous sur cette page, et pour les utilisateurs de GNU/Linux vous trouverez probablement ce paquet dans les dépôts de votre distribution.

Mode d’emploi succinct

  1. Ouvrez le document PDF avec Acrobat Reader.
  2. Dans le menu Fichier puis Imprimer, cliquez sur le bouton Propriétés pour choisir le format de papier souhaité ;
  3. De retour dans la fenêtre d’impression, dans Mise à l’échelle choisissez Aucune ;
  4. Également, vérifier si l’option Rotation auto et centrage des pages doit être cochée (dépends de votre situation) ;
  5. Cochez aussi la case Imprimer dans un fichier et valider.
  6. Enfin dans la fenêtre de dialogue qui s’ouvre alors, indiquer le nom du nouveau document créé, et changez son extension .ps en .pdf.

Comme vous le remarquerez sur cette capture d’écran, cette méthode a pour défaut majeur d’exiger de votre document qu’il soit centré (ou éventuellement en haut à gauche). En effet, impossible d’ajuster la position du recadrage sur la page. De plus, elle souffre d’un manque de souplesse, puisqu’il est difficile de retoucher une marge au centimètre près, il faut se contenter des formats de papier définis par la norme ISO 216.

... ou via le terminal

Si cette méthode (décrite sur ici le forum de Framagora) peut paraître austère, c’est finalement la plus efficace à mes yeux. J’ai choisi de vous présenter ici PDFjam pour sa simplicité d’utilisation, mais le script python PDFCrop semble aussi tout à fait performant et à l’avantage d’être a priori utilisable sur toutes les plateformes.

Prérequis

  • PDFjam. Disponible dans les dépôts de la plupart des distributions GNU/Linux ; également utilisable sous Mac OSX, cette solution n’est par contre pas compatible avec Microsoft Windows (Une autre méthode est décrite sur cette page : les mésaventure d’un PDF. Elle s’appuie également sur deux outils en ligne de commande, pdftops et pdfimages).

Mode d’emploi

Elle s’emploie avec la commande unique :

pdfjam --trim "2cm 2cm 2cm 2cm" --nup 1 source.pdf

Les marges de rognage (ici : 2cm sur les quatre cotés) sont à lire sur le modèle : "Gauche Bas Droite Haut". Bien sûr, vous devrez remplacer source.pdf par le nom de votre document, et éventuellement sa localisation dans l’arborescence.

Conclusion

Difficile finalement de trouver un mode d’emploi sur le web qui fasse état d’une méthode fiable, simple et efficace. Il n’existe pour ainsi dire, aujourd’hui et quelque soit le système d’exploitation, aucune solution idéale... à moins peut-être d’ouvrir son porte-monnaie.

D’un point de vue général sinon, ce petit état des lieux fut l’occasion de remarquer l’inégalité des outils disponibles pour le traitement des documents PDF selon les différents systèmes d’exploitation. Étonnamment, ce sont les plateformes GNU/Linux (et par extension Mac OSX en bénéficie aussi souvent) qui sont ici favorisés, on y trouve en effet une foule d’outils accessibles et performants (en ligne de commande souvent il est vrai). Je serais bien curieux d’en connaître la cause...

8 commentaires

#1 mercredi 04 septembre 2013 @ 17:34 Jonathan a dit :

Désolé à celles et ceux qui avaient posté des commentaires au bas de cette page. Lors de la migration de SPIP vers Pluxml, ils ont malheureusement disparus.
Milles excuses... :/

#2 vendredi 13 septembre 2013 @ 16:51 albane35 a dit :

Salut,
j'ai essayé la méthode avec the Gimp, mais au moment d'enregistrer en mng il me dit que mon image doit être exportée avant d'être enregistrée et me demande si je préfère fusionner les calques visibles ou enregistrer en tant qu'animation. J'ai mis "enregistrer en tant qu'animation", j'ai fait "convert..." dans un terminal, mais le terminal me dit qu'il ne peut pas ouvrir le fichier .mng. Ensuite j'ai recommencé, en mettant cette fois "fusionner les calques", mais c'est pareil, j'ai droit à "convert : impossible d'ouvrir le fichier roumain.mng"
est-ce que tu as quelque chose à me conseiller?
merci d'avance.

#3 mercredi 18 septembre 2013 @ 12:03 Jonathan a dit :

@albane35 : Il faut bien choisir l'option "enregistrer en tant qu'animation". Ton message d'erreur est plutôt étonnant, il est rare que 'convert' soit mis en difficulté. Ou alors est-ce Gimp qui enregistre mal le fichier. J'imagine que tu as les dernières version de Gimp et d'ImageMagick. Alors tu peux peut-être essayer cette solution alternative : enregistre séparement chacune des pages de ton PDF recadré en PNG (en les nommant ainsi : page1.png, page2.png ...). Alors ensuite la commande « convert page*.png document.pdf » devrait fonctionner pour convertir et assembler en une seule fois. Après c'est vrai, que tout dépends de ton système d'exploitation... :)

#4 vendredi 27 mars 2015 @ 18:22 depassage a dit :

Ce n'est pas "pdfjam" qu'il faudrait utiliser plutôt que "pdfnup" dans l'exemple de la rubrique "… ou via le terminal" ?

#5 vendredi 03 avril 2015 @ 12:58 Jonathan Chibois a dit :

@depassage : Oui, bien sûr. C'est une coquille qui date, qui prouve que la méthode terminal n'a pas été testée souvent. Bien vu. Merci ! :-)

#6 lundi 19 octobre 2015 @ 08:34 herve a dit :

Super, j'ai pris la méthode et 1 et ça marche impeccable.
Sous Gimp, je peux même différencier le recadrage page par page si je veux, supprimer le reste de bandes noires, etc
Merci beaucoup pour ce tuto clair et simple

#7 samedi 28 novembre 2020 @ 18:21 pleiade67 a dit :

Bonjour,
j'ai trouvé cet outil en java (donc multiplate-forme) qui fonctionne très très bien :
http://briss.sourceforge.net
je l'utilise depuis plusieurs années, sous MacOs (fonctionne toujours sous Catalina). Il présente le gros avantage de détecter automatiquement le layout et de traiter les groupes de page (par exemple paires et impaires) automatiquement. Vraiment ce que j'ai trouvé de mieux (bien mieux que gimp que j'utilise pour d'autres usages).

#8 jeudi 07 janvier 2021 @ 15:24 Jonathan Chibois a dit :

@pleiade67 : désolé pour le retard de réponse, ton message avait été traité comme SPAM. :-/
Merci beaucoup pour l'info ! Je testerai ça à l'occasion et je le mettrai à l'honneur si c'est concluant :

Les commentaires sont fermés.