Convertir un PDF en PNG en ligne de commande
pdftoppm, Ghostscript, ImageMagick : les trois commandes qui convertissent un PDF en PNG en lot, avec les réglages de résolution et les pièges classiques.
Trois outils pour le même travail
Sur un poste de travail, la conversion par lot se fait très bien en ligne de commande. Trois outils dominent, et le plus simple est souvent celui qui est déjà installé : Poppler, présent sur la plupart des distributions Linux et installable sur macOS via Homebrew.
pdftoppm : le plus direct
L'outil de la suite Poppler rend une page PDF en image, avec une option de résolution explicite :
pdftoppm -png -r 300 rapport.pdf pageLe résultat produit une image par page, nommée page-1.png,page-2.png, etc. Pour n'extraire qu'une plage précise, ajoutez les bornes de pages :
pdftoppm -png -r 150 -f 3 -l 7 rapport.pdf extraitL'option -f indique la première page, -l la dernière. C'est la commande la plus rapide et la plus prévisible pour un lot, sans dépendance graphique.
Ghostscript : partout, mais verbeux
Ghostscript est disponible sur Windows, macOS et Linux, ce qui en fait le choix par défaut quand on ne peut rien installer d'autre. La commande complète ressemble à ceci :
gs -dNOPAUSE -dBATCH -sDEVICE=png16m -r300 \
-sOutputFile=page-%03d.png rapport.pdfDeux points méritent l'attention : png16m produit un PNG en couleur 24 bits, et le motif %03d impose des numéros de page sur trois chiffres, ce qui garantit un tri alphabétique correct au-delà de neuf pages.
ImageMagick : pratique, avec un piège
ImageMagick convertit une page unique en une commande, mais la résolution se règle avant la lecture du fichier, sans quoi il utilise 72 DPI par défaut :
convert -density 300 rapport.pdf[0] page-1.pngLe crochet indique le numéro de page, en commençant à zéro. Attention : depuis quelques années, la politique de sécurité par défaut d'ImageMagick bloque la lecture des PDF, une mesure liée à des vulnérabilités historiques de Ghostscript. Si la commande renvoie « not authorized », c'est ce réglage qu'il faut assouplir, en connaissance de cause.
Un lot complet en une boucle
Pour traiter un dossier entier, une boucle shell suffit, en réutilisant le nom de chaque fichier comme préfixe :
for f in *.pdf; do
pdftoppm -png -r 150 "$f" "${f%.pdf}"
doneL'expression ${f%.pdf} retire l'extension d'origine pour construire un nom lisible : rapport-1.png plutôt que rapport.pdf-1.png.
Ligne de commande ou navigateur ?
Les deux approches rendent la page localement, sans envoi à un serveur. Le terminal reste imbattable pour traiter cinquante fichiers d'un coup, ou pour intégrer la conversion à un script. Le navigateur garde l'avantage de ne rien installer, de fonctionner sur n'importe quel poste, et de proposer un aperçu des pages avant conversion — ce qui évite souvent de produire des images inutiles.
Un conseil qui vaut pour les deux : vérifiez toujours la dimension en pixels de la première image produite. C'est le seul moyen de savoir si la résolution demandée a réellement été appliquée.
Prêt à convertir ?
Gratuit, sans compte, et le fichier ne quitte pas votre appareil.
Convertir mon PDF maintenantGuides associés
Partager cette page