Comment convertir un fichier PDF de plusieurs pages en fichiers PNG, avec un fichier PNG par page du document PDF?

30

Comment convertir un fichier PDF de plusieurs pages en fichiers PNG et enregistrer automatiquement un fichier PNG par page du document PDF (pour Windows 7)?

J'ai essayé des imprimantes virtuelles (CutePDF, Bullzip PDF Printer) et un logiciel de retouche d'image (Irfanview, Photoshop) pour convertir des fichiers PDF en PNG mais je ne trouve pas de moyen de leur faire enregistrer un fichier PNG par page d'un document PDF.

galacticninja
la source
1
Avec Linux, c'est assez simple, avec "pdf2ppm" pour convertir le pdf en ppm puis "convertir" (à partir d'imagemagick) pour diviser le fichier ppm en fichiers png.
Olli
1
Avec Mac OS X, cela est assez simple, avec Automator et l'action "Rendre les pages PDF en images", qui convertit un PDF de plusieurs pages en fichiers image séparés.
Daniel Beck

Réponses:

18

Utiliser Ghostscript

-sOutputFile = nom_fichier Il s'agit d'une option générale indiquant à Ghostscript comment nommer la sortie. Il peut s'agir d'un nom de fichier unique 'tiger.png' ou d'un modèle 'figure-% 03d.jpg' où% 03d est remplacé par le numéro de page.

Vous pouvez trouver pratique d'utiliser GhostView, le frontal de l'interface graphique.

RedGrittyBrick
la source
5
J'ai expérimenté quelques options pour GhostView et suis venu à ce groupe d'options pour convertir automatiquement le PDF en PNG sans invites utilisateur: est- -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf"ce que je le fais bien? Je voudrais également savoir à quel DPI je devrais le régler (je l'ai réglé à 96 dans ce cas) pour avoir la même résolution que le PDF source. (Les fichiers PDF que je convertis contiennent des images numérisées d'un livre ou d'un magazine et ne contiennent pas de texte ou d'informations OCR.)
galacticninja
Si le DPI source est de 96 et que l'image est susceptible d'être principalement visualisée à l'écran, 96 est un bon choix pour le DPI de sortie, car il s'agit du DPI d'affichage par défaut pour MS Windows (bien que certains définissent leur DPI d'affichage sur 120).
RedGrittyBrick
25

En utilisant ImageMagick (vous aurez également besoin de Ghostscript installé), la commande:

convert -density 300 filename.pdf filename.png

se traduira par une série de fichiers filename-0.png, filename-1.png, filename-2.png, un pour chacune des pages du PDF. Vous aurez envie de jouer avec le paramètre de densité pour obtenir une résolution que vous aimez.

Vous devrez peut-être indiquer le chemin d'accès complet à convert.exe sous Windows; Je ne l'ai fait que sous Linux, mais cela devrait aussi fonctionner pour Windows.

frabjous
la source
J'ai essayé la méthode Ghostscript dans l'autre réponse ci-dessus, mais j'aimerais maintenant essayer cette méthode que vous avez suggérée. Je voudrais demander si l' -density 300argument signifie que le paramètre DPI est 300, ou cela signifie-t-il autre chose?
galacticninja
Oui, voyez ici .
frabjous
3
Si vous ne voulez qu'une seule page, suivez le nom du fichier PDF avec le numéro de page entre crochets: filename.pdf[0]Le numéro de page est basé sur 0, donc 0 est la première page, 1 est la deuxième page, etc. stackoverflow.com/a/12614851/215168
Abe Voelker
Juste une note: ImageMagick convertutilise Ghostscript lors du rendu .pdf, voir stackoverflow.com/questions/14705727/…
sdaau
pour que cela fonctionne, gsil faut appeler le binaire ghostscript (j'avais un gsalias pour git status)
duhaime
2

Si vous préférez ne pas installer de logiciel, vous pouvez utiliser cet outil en ligne:

convert.town/pdf-to-png

La conversion se fait à l'intérieur de votre navigateur. Il produira un fichier PNG pour chaque page PDF.

le coucher du soleil
la source
Fonctionne très bien, hélas, les images ne sont qu'à 75 DPI, ce qui n'est pas suffisant pour la sortie d'impression.
ƘɌỈSƬƠƑ
2

Vous pouvez utiliser PDF-XChange . Il peut exporter toutes les pages de votre choix au format attendu. Non seulement les fichiers PNG, mais de nombreux autres formats sont également pris en charge

Boîte de dialogue d'exportation d'images

Menu d'exportation

phuclv
la source
1

Voici un exemple GSavec l' CropBoxoption:

"c:\Program Files\gs\gs9.10\bin\gswin64.exe" -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile="path_to_png_files\pdffilename-%03d.png" "path_to_pdf_file\pdffilename.pdf"

Le chemin d'accès à GSdoit être ajusté en fonction de votre installation. En outre, le DEVICEparamètre peut être modifié en périphérique couleur si nécessaire. Par rapport à convert, GSsemble fonctionner beaucoup plus rapidement, et il est plus adapté aux gros lots de conversion.

imriss
la source
Si je ne recadre aucune partie du fichier PDF d'origine ou des images PNG converties, dois-je quand même utiliser «CropBox»? Si oui, en quoi cela aide-t-il dans le processus de conversion?
galacticninja
L'utilisation de -dUseCropBoxne consiste à effectuer aucun recadrage. Au lieu de cela, il force la GSlecture des CropBoxinformations du PDF d'entrée. Cela est nécessaire pour avoir une conversion robuste.
imriss
0

Un autre logiciel pour effectuer la conversion est PDFCreator . Cela créera une nouvelle imprimante dans votre système afin que vous puissiez réellement convertir de n'importe quel format en images , pas seulement des fichiers PDF

  • Convertissez vos documents en PDF, JPG, PNG, TIF et plus
  • Fusionner plusieurs documents en un seul fichier
  • Les profils rendent les paramètres fréquemment utilisés disponibles en un seul clic
  • Utilisez la sauvegarde automatique pour avoir une imprimante PDF entièrement automatisée
  • Nous prenons soin de la complexité et simplifions la conversion des PDF pour vous

Plus important encore, il est également open source

Imprimez simplement le document, sélectionnez PDFCreator et choisissez la sortie en PNG (ou TIFF, JPG, peu importe ...) et vous avez terminé

Capture d'écran de PDFCreator

phuclv
la source