Comment convertir un fichier PDF en image?

327

J'ai l'obligation de convertir des pages PDF en images. Il y a une image d'arrière-plan avec du texte écrit, donc lorsque je l'enregistre en tant qu'image, seule l'image d'arrière-plan est enregistrée.

Existe-t-il un logiciel disponible pour la même page afin de convertir une page complète en image?

Deependra Solanky
la source
Apparemment, c’est aussi possible avec inkscape: stackoverflow.com/a/15484727/32453
rogerdpack

Réponses:

299
  1. Installez 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
      

Par lequel:

  • Vous pouvez choisir le format PNG, JPG ou (virtuellement) n’importe quel autre format d’image.

  • -density xxxdéfinira le DPI sur xxx( les valeurs communes sont 150 et 300).

  • -quality xxxdéfinira la compression sur xxxpour les formats de fichier PNG, JPG et MIFF (100 signifie pas de compression).

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

  • Toutes les autres options (telles que le rognage, les niveaux de gris, etc.) peuvent être consultées sur le site Web d’ Image Magic .

Vie binaire
la source
2
La réponse telle quelle fonctionne, mais la résolution est très mauvaise. Par conséquent, pas actuellement une réponse utile. Peut-être que si convert a certains paramètres qui peuvent être spécifiés, cela pourrait changer.
Elijah Lynn
48
Cette réponse est bien meilleure qualité askubuntu.com/a/50180/11929
Elijah Lynn
6
Vous pouvez modifier la densité en ajoutant le -density 300paramètre
OHLÁLÁ
4
Alors, quelqu'un peut-il confirmer que la spécification de la densité la rend "aussi bonne" que les autres réponses fournies ici ou non? Aussi, comme note aux adeptes, ImageMagick appelle "ghostscript" pour convertir en fait de pdf en png ex: gs -q NOPROMPT ...-sDEVICE=pngalpha -r150x150 -sOutputFile=/var/tmp/Yf%d -f/var/tmp/L -f/var/tmp/Fic1et si vous l'obtenez, convert: no images defined output.pngcela signifie que ghostscript n'est pas installé ...
rogerdpack
4
PDF ImageMagick Parsing a été désactivé - bugs.archlinux.org/task/59778 - il peut être activé manuellement en éditant le /etc/ImageMagick-7/policy.xmlfichier et le retrait PDFde<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />
Jezor
393

Vous pouvez utiliser pdftoppmpour convertir un PDF en PNG:

pdftoppm input.pdf outputname -png

Cela produira chaque page du PDF en utilisant le format correspondant outputname-01.pngà 01l’index de la page.

Conversion d'une seule page du PDF

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

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

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

La résolution par défaut pour cette commande est de 150 DPI. Si vous l'augmentez, le fichier sera plus volumineux et plus détaillé.

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

pdftoppm input.pdf outputname -png -rx 300 -ry 300
enzotib
la source
24
Merci beaucoup. Bien meilleure qualité qu'avec imagemagick ou graphicsmagick!
dAnjou
7
pdftoppm est beaucoup plus rapide que convert
lundi
4
C'est vraiment bien mieux qu'imagemagick. Imagemagick a en fait changé les couleurs de manière inattendue dans mon cas!
NoBackingDown
13
c'est bien !, mais il est un peu plus facile d'écrire -r 300au lieu de spécifier les résolutions x et y indépendamment lorsque vous voulez les définir à la même valeur.
mlc
2
J'ai eu beaucoup plus de succès avec pdftoppm qu'avec imagemagick.
Michael Hays le
22

IIRC GIMP est capable d’utiliser des PDF, c’est-à-dire de les convertir en images. Donc, si vous voulez éditer les images tout de suite, GIMP est votre ami.

tesseract
la source
GIMP peut en effet ouvrir des fichiers PDF, chaque page constituant un calque. Choisir "Exporter sous" semble ne sauvegarder que le calque actuel, mais vous pouvez facilement supprimer le calque après l'exportation et relancer "Exporter sous".
Dan Dascalescu
12

La réponse actuellement acceptée fait le travail, mais donne un résultat plus volumineux et une perte de qualité.

La méthode dans la réponse donnée ici donne un résultat dont la taille est comparable à celle de l'entrée et qui ne souffre pas d'une perte de qualité.

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

Citer la réponse liée:

Ce que vous entendez par "perte de qualité" n'est pas clair. Cela pourrait signifier beaucoup de choses différentes. Pourriez-vous poster des exemples pour illustrer? Peut-être couper la même section des versions de mauvaise qualité et de bonne qualité (en tant que PNG pour éviter une perte de qualité supplémentaire).

Peut-être devez-vous utiliser -densitypour effectuer la conversion à un dpi plus élevé:

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

(Vous pouvez ajouter du préfixe -units PixelsPerInchou -units PixelsPerCentimetersi nécessaire. Ma copie par défaut est ppi.)

Mise à jour: Comme vous l'avez indiqué, gscan2pdf(la façon dont vous l'utilisez) n'est qu'un wrapper pour pdfimages(à partir de Poppler ). pdfimages ne fait pas la même chose que convertquand on donne un PDF en entrée.

convert prend le PDF, le restitue à une certaine résolution et utilise le bitmap obtenu comme image source.

pdfimagescherche dans le PDF des images bitmap incorporées et les exporte dans un fichier. Il ignore simplement les commandes de dessin textuelles ou vectorielles du PDF.

Par conséquent, si vous avez un fichier PDF qui encapsule une série de bitmaps, il pdfimagessera beaucoup plus efficace de les extraire, car il vous donne les données brutes à leur taille originale. Vous voudrez probablement aussi utiliser l' -joption pdfimagescar un PDF peut contenir des données JPEG brutes. Par défaut, pdfimagestout est converti au format PNM et la conversion de JPEG> PPM> JPEG est un processus avec perte.

Alors, essaie

pdfimages -j file.pdf page

Vous pouvez ou ne pouvez pas besoin de suivre cela avec une convertà l' .jpgétape (selon le format bitmap PDF utilisait).

J'ai essayé cette commande sur un PDF que j'avais créé moi-même à partir d'une séquence d'images JPEG. Les images JPEG extraites étaient octet par octet identiques aux images source. Vous ne pouvez pas obtenir une qualité supérieure à celle.

Anmol Singh Jaggi
la source
8

Si vos fichiers PDF sont numérisés, les images sont déjà stockées dans le cadre de pdf. vous aurez simplement besoin de les extraire avec pdfimages:

pdfimages my-file.pdf prefix 
VitoshKa
la source
2
C'est la solution idéale pour les fichiers PDF scannés. Vous pouvez, avec une seule commande, extraire les fichiers jpgs d'origine, sans recompression supplémentaire.
Jose Gómez le
3

Pour obtenir une seule page à partir de gm convert, ajoutez [N] (avec N le numéro de page commençant à 0) au nom du PDF, c’est- gm convert foo.pdf[11] out.pngà- dire pour obtenir la 12ème page à partir du PDF.

Pour pdftoppmutilisation -f N -singlefile, où N est le numéro de la page commençant à 1, c'est- pdftoppm -f 12 -singlefile foo.pdf outà- dire pour le même résultat. Il semble ajouter toujours ".png" au nom du fichier de sortie et il n’ya aucun moyen d’arrêter cela.

utilisateur3080602
la source
2

Vous pouvez utiliser convertir et spécifier une densité plus élevée à l'aide de l' -densityoption.

par exemple. convert -d 300 foo.pdf bar.png

Arjun
la source
pouvez-vous expliquer davantage ce qu'est la densité et ce qu'elle peut faire?
rɑːdʒɑ
1
@AgentCool Il spécifie la densité d'image horizontale et verticale (en ppp).
Arjun
2

Si vous souhaitez uniquement convertir une page spécifique d'un fichier PDF en un fichier PNG, vous pouvez diriger pdftkvers convert( décrit ci-dessus ) comme suit:

pdftk document.pdf cat 12 output - | convert - document-page-12.png
IQAndreas
la source
1

Master PDF Editor (version 2.2) propose cette option. Ouvrez le fichier PDF, puis sélectionnez Fichier> Exporter vers> Images. Il présente une boîte de dialogue dans laquelle vous pouvez définir différentes options pour la sortie. Extrêmement utile. J'espère que cette information aide.

se ruer
la source
Est-ce que c'est dans la version gratuite ou payante? Dans ma version, l'option est grisée? Est-ce que cela signifie que je dois payer? Y a-t-il une version payante?
Joshua Robison
0

PDF Mod permet également d'exporter des images de toutes les pages ou de pages individuelles de fichiers PDF.

  • Ouvrir le fichier PDF en PDF Mod
  • Sélectionner des pages)-
  • Édition> Exporter des images
nhylé
la source