500 votes

Comment convertir un PDF en image ?

Je ai besoin de convertir des pages PDF en images. Il y a une image de fond avec du texte dans mon fichier, et lorsque je le sauvegarde en tant qu'image, seule l'image de fond est enregistrée.

Y a-t-il un logiciel disponible pour que la page entière puisse être convertie en image?

0 votes

Apparemment, c'est également possible avec inkscape: stackoverflow.com/a/15484727/32453

2 votes

Je n'ai pas 10 rep pour poster une réponse, alors voici une autre façon, utilisez MuPDF. mutool convert -o fichier.png fichier.pdf

2 votes

Sur bash: pdftocairo fichier.pdf -png

663voto

enzotib Points 86709

Vous pouvez utiliser pdftoppm du package poppler-utils pour convertir un PDF en PNG:

pdftoppm input.pdf outputname -png

Cela produira chaque page du PDF en utilisant le format outputname-01.png, avec 01 étant l'index de la page.

Conversion d'une seule page ou d'une plage de pages du PDF

pdftoppm input.pdf outputname -png -f {page} -singlefile

Changez {page} au numéro de la page. Il est indexé à 1, donc -f 1 serait la première page.

Si vous souhaitez travailler sur une plage de pages, vous pouvez également spécifier un nombre pour le drapeau -l (dernière page), donc en ayant -f 1 -l 30 spécifierait les pages de 1 à 30.

Spécifier la résolution de l'image convertie

La résolution par défaut pour cette commande est de 150 DPI. L'augmenter entraînera à la fois une taille de fichier plus grande et plus de détails.

Pour augmenter la résolution du PDF converti, ajoutez les options -rx {résolution} et -ry {résolution}. Par exemple:

pdftoppm input.pdf outputname -png -rx 300 -ry 300

34 votes

Merci beaucoup. Bien meilleure qualité qu'avec imagemagick ou graphicsmagick!

13 votes

Pdftoppm est beaucoup plus rapide que convert

0 votes

Avec un seul fichier PDF dans un dossier, le nom spécifique du fichier PDF n'est pas nécessaire : pdftoppm -png *.pdf préfixe

347voto

Peeja Points 2406
  1. Installer imagemagick.

  2. Utiliser un terminal où se trouve le PDF :

    • Pour le document complet :

      convert -density 150 input.pdf -quality 90 output.png
    • Pour une seule page :

      convert -density 150 input.pdf[666] -quality 90 output.png

Où :

  • Un format d'image PNG, JPG ou (virtuellement) toute autre peut être choisi.

  • -density xxx définira le DPI sur xxx (communément 150 et 300).

  • -quality xxx définira la compression sur xxx pour les formats de fichiers PNG, JPG et MIFF (100 signifie aucune compression).

  • [666] convertira seulement la 667ème page en PNG (numérotation à partir de zéro donc [0] est la 1ère page).

  • Toutes les autres options (telles que le rognage, l'échelle de gris, etc.) peuvent être consultées sur le site web de Image Magic.

2 votes

La réponse telle quelle fonctionne, mais la résolution est très mauvaise. Par conséquent, ce n'est actuellement pas une réponse utile. Peut-être que si la conversion a des paramètres qui peuvent être spécifiés, cela pourrait changer.

51 votes

Cette réponse est d'une qualité bien supérieure askubuntu.com/a/50180/11929

6 votes

Vous pouvez changer la densité en ajoutant le paramètre -density 300

31voto

seedofc Points 78

À ma connaissance, GIMP est capable d'utiliser des PDF, c'est-à-dire de les convertir en images. Donc si vous souhaitez modifier les images immédiatement - GIMP est votre ami.

0 votes

GIMP peut effectivement ouvrir des PDF, chaque page étant une couche. Choisir "Exporter sous" semble ne sauvegarder que la couche actuelle, mais vous pouvez facilement supprimer la couche après l'exportation et exécuter à nouveau "Exporter sous".

0 votes

Au niveau des versions respectives actuelles disponibles dans Ubuntu 19.04, j'ai constaté que GIMP produit une conversion de bien meilleure qualité que imagemagick.

18voto

Anmol Singh Jaggi Points 456

La réponse actuellement acceptée fait le travail mais le résultat est plus volumineux en taille et souffre d'une perte de qualité.

La méthode de la réponse donnée ici donne un résultat de taille comparable à l'entrée et ne souffre pas de perte de qualité.

TLDR - Utilisez pdfimages : pdfimages -j input.pdf output

En citant la réponse liée:

Il n'est pas clair ce que vous voulez dire par "perte de qualité". Cela peut signifier beaucoup de choses différentes. Pourriez-vous poster quelques échantillons pour illustrer?
Peut-être découpez la même section des versions de mauvaise qualité et de bonne qualité (en PNG pour éviter une perte de qualité supplémentaire).

Peut-être avez-vous besoin d'utiliser -density pour effectuer la conversion à une haute résolution:

convert -density 300 file.pdf page_%04d.jpg

(Vous pouvez préfixer -units PixelsPerInch ou -units PixelsPerCentimeter si nécessaire. Ma copie est par défaut en ppi.)

Mise à jour: Comme vous l'avez souligné, gscan2pdf (de la manière dont vous l'utilisez) est juste une interface pour pdfimages (de poppler). pdfimages ne réalise pas la même tâche que convert lorsqu'il reçoit un PDF en entrée.

convert prend le PDF, le rend à une certaine résolution, et utilise l'image bitmap résultante comme image source.

pdfimages recherche dans le PDF les images bitmap intégrées et les exporte dans un fichier. Il ignore simplement tout texte ou commandes de dessin vectoriel dans le PDF.

Par conséquent, si vous avez un PDF qui est simplement un conteneur pour une série d'images bitmap, pdfimages fera un bien meilleur travail pour les extraire, car il vous donne les données brutes à leur taille d'origine. Vous voudrez probablement également utiliser l'option -j avec pdfimages, car un PDF peut contenir des données JPEG brutes. Par défaut, pdfimages convertit tout en format PNM, et convertir JPEG > PPM > JPEG est un processus de perte de qualité.

Donc, essayez

pdfimages -j file.pdf page

Vous devrez peut-être suivre cela d'une étape de conversion en .jpg avec convert (selon le format bitmap utilisé dans le PDF).

J'ai essayé cette commande sur un PDF que j'avais créé moi-même à partir d'une séquence d'images JPEG. Les JPEG extraits étaient identiques, octet par octet, aux images sources. On ne peut pas obtenir une meilleure qualité que cela.

4 votes

Il s'agit d'une solution incorrecte pour la question posée par l'OP si le PDF est un PDF prêt à être imprimé créé par quelque chose comme Illustrator ou Acrobat, puisque pdfimages extrait uniquement les images du PDF mais ne fusionne pas chaque page entière et n'exporte pas les pages complètes en tant qu'images.

0 votes

@GuyPaddock Merci de l'avoir signalé.

11voto

ccgus Points 1621

Si vos PDF sont scannés, les images sont déjà stockées en tant que partie du PDF. Vous devrez simplement les extraire avec pdfimages :

pdfimages mon-fichier.pdf préfixe

6 votes

Il s'agit de la solution idéale pour les PDF numérisés, car avec celle-ci, vous pouvez, en une seule commande, extraire les jpgs originaux, et sans nouvelles recompressions.

2 votes

Ceci est la solution incorrecte pour la question de l'OP si le PDF est un PDF prêt à imprimer créé par quelque chose comme Illustrator ou Acrobat, car pdfimages extrait uniquement les images du PDF mais ne fusionne pas chaque page entière et n'exporte pas les pages complètes en images.

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