En code python, comment enregistrer efficacement une certaine page dans un pdf en tant que fichier jpeg? (Cas d'utilisation: j'ai un serveur Web flask python où les pdf-s seront téléchargés et les jpeg-s correspondant à chaque page sont stockés.)
Cette solution est proche, mais le problème est qu'elle ne convertit pas la page entière en jpeg.
Réponses:
La bibliothèque pdf2image peut être utilisée.
Vous pouvez l'installer simplement en utilisant,
Une fois installé, vous pouvez utiliser le code suivant pour obtenir des images.
Enregistrer des pages au format jpeg
Edit: le repo Github pdf2image mentionne également qu'il utilise
pdftoppm
et qu'il nécessite d'autres installations:Vous pouvez installer la dernière version sous Windows en utilisant anaconda en faisant:
Remarque: les versions de Windows jusqu'à 0.67 sont disponibles sur http://blog.alivate.com.au/poppler-windows/ mais notez que la version 0.68 a été publiée en août 2018 , vous n'obtiendrez donc pas les dernières fonctionnalités ou corrections de bogues.
la source
J'ai trouvé cette solution simple, PyMuPDF , sortie dans un fichier png. Notez que la bibliothèque est importée en tant que "fitz", un nom historique pour le moteur de rendu qu'elle utilise.
la source
La bibliothèque Python
pdf2image
(utilisée dans l'autre réponse) ne fait en fait pas beaucoup plus que simplement se lancerpdttoppm
avecsubprocess.Popen
, voici donc une version courte qui le fait directement:Voici le lien d'installation de Windows pour
pdftoppm
(contenu dans un package nommé poppler): http://blog.alivate.com.au/poppler-windows/la source
Il n'est pas nécessaire d'installer Poppler sur votre système d'exploitation. Cela fonctionnera:
pip installer la baguette
la source
@gaurwraith, installez poppler pour Windows et utilisez pdftoppm.exe comme suit:
Téléchargez le fichier zip avec les derniers binaires / dll de Poppler à partir de http://blog.alivate.com.au/poppler-windows/ et décompressez-le dans un nouveau dossier dans votre dossier de fichiers de programme. Par exemple: "C: \ Program Files (x86) \ Poppler".
Ajoutez «C: \ Program Files (x86) \ Poppler \ poppler-0.68.0 \ bin» à votre variable d'environnement SYSTEM PATH.
Depuis la ligne cmd, installez le module pdf2image -> "pip install pdf2image".
@vishvAs vAsuki, ce code doit générer les jpgs souhaités via le module de sous-processus pour toutes les pages d'un ou plusieurs fichiers PDF dans un dossier donné:
Ou en utilisant le module pdf2image:
la source
Il s'agit d'un utilitaire appelé pdftojpg qui peut être utilisé pour convertir le pdf en img
Vous pouvez trouver le code ici https://github.com/pankajr141/pdf2jpg
la source
GhostScript fonctionne beaucoup plus rapidement que Poppler pour un système basé sur Linux.
Voici le code pour la conversion de pdf en image.
GhostScript peut être installé sur macOS en utilisant
brew install ghostscript
Des informations d'installation pour d'autres plates-formes peuvent être trouvées ici . S'il n'est pas déjà installé sur votre système.
la source
J'utilise une option (peut-être) beaucoup plus simple de pdf2image:
Il s'agit d'une petite partie d'un script bash dans une boucle pour l'utilisation d'un appareil de diffusion étroit. Vérifie toutes les 5 secondes les fichiers pdf ajoutés (tous) et les traite. Ceci est pour un appareil de démonstration, à la fin la conversion sera effectuée sur un serveur distant. Conversion en .PNG maintenant, mais .JPG est également possible.
Cette conversion, associée aux transitions au format A4, à l'affichage d'une vidéo, de deux textes à défilement fluide et d'un logo (avec transition en trois versions) définit le Pi3 à presque 4x 100% CPU-load ;-)
la source
la source
Voici une solution qui ne nécessite aucune bibliothèque supplémentaire et qui est très rapide. Cela a été trouvé à partir de: https://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html# J'ai ajouté le code dans une fonction pour le rendre plus pratique.
Appelez convert avec le chemin pdf comme argument et la fonction créera un fichier .jpg dans le même répertoire
la source