web-dev-qa-db-fra.com

Comment convertir PDF en image?

J'ai l'obligation de convertir PDF pages 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?

296
Deependra Solanky
  1. Installez imagemagick .

  2. Utilisation d'un terminal sur lequel 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:

  • PNG, JPG ou (virtuellement) n’importe quel autre format d’image peuvent être choisis.

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

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

  • [666] convertira uniquement la 667ème page en PNG (numérotation basée sur zéro, donc [0] est 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 de Image Magic .

277
Binarylife

Vous pouvez utiliser pdftoppm pour convertir un PDF en un fichier PNG:

pdftoppm input.pdf outputname -png

Cela produira chaque page dans le PDF en utilisant le format outputname-01.png, avec 01 comme index de la page.

Conversion d'une seule page du PDF

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

Remplacez {page} par le numéro de page. Il est indexé à 1, donc -f 1 serait 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
356
enzotib

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.

20
tesseract

La réponse actuellement acceptée fait le travail mais donne un résultat dont la taille est plus grande et souffre d'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 - Utilisez pdfimagesname__: 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 -density pour effectuer la conversion à un dpi plus élevé:

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

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

Mise à jour: Comme vous l'avez fait remarquer, gscan2pdf (votre façon de l'utiliser) est juste un wrapper pour pdfimages(from poppler =). pdfimagesne fait pas la même chose que convertquand on lui donne un PDF en entrée.

convertprend le PDF, le restitue avec une résolution et utilise le bitmap résultant 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.

En conséquence, si vous avez un PDF qui n'est qu'un encapsuleur autour d'une série de bitmaps, pdfimagesfera beaucoup mieux pour les extraire, car il vous permet d'obtenir les données brutes à leur taille d'origine. Vous voudrez probablement aussi utiliser l'option -j pour pdfimagesname__, car un PDF peut contenir des données JPEG brutes. Par défaut, pdfimagesconvertit tout au format PNM et la conversion de JPEG> PPM> JPEG est un processus avec perte.

Alors, essayez

pdfimages -j file.pdf page

Vous pouvez suivre ou non cette étape avec une étape convertto .jpg (en fonction du format d'image utilisé par 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 images JPEG extraites étaient octet par octet identiques aux images source. Vous ne pouvez pas obtenir une qualité supérieure à celle.

12
Anmol Singh Jaggi

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 
7
VitoshKa

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

Pour pdftoppm, utilisez -f N -singlefile, où N est le numéro de page commençant à 1, c'est-à-dire pdftoppm -f 12 -singlefile foo.pdf out 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.

3
user3080602

Vous pouvez utiliser convert et spécifier une densité plus élevée à l'aide de l'option -density.

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

2
Arjun

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.

1
Rush

Si vous souhaitez uniquement convertir une page spécifique d'un 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
1
IQAndreas

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

  • Ouvrir le fichier PDF dans PDF Mod
  • Sélectionnez page (s) -
  • Édition> Exporter des images
0
nhylated