Les images sont couramment utilisées dans les documents PDF avec du texte, ce qui rend le contenu plus attrayant et élaboré. Lors du traitement et de l’analyse des documents PDF, vous devrez peut-être également extraire des images. Par conséquent, dans cet article, nous allons montrer comment traiter des fichiers PDF et extraire des images par programme en Python. Le guide étape par étape et l’exemple de code illustreront l’ensemble du processus d’extraction d’image.
- Bibliothèque Python pour extraire des images d’un PDF
- Étapes pour extraire des images d’un PDF
- Extraire des images d’un PDF en Python
Bibliothèque Python pour extraire des images d’un PDF
Pour extraire des images d’un fichier PDF, nous utiliserons Aspose.Words for Python. C’est une bibliothèque puissante et riche en fonctionnalités pour créer et manipuler des documents texte, y compris PDF et DOCX. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande pip suivante.
> pip install aspose-words
Étapes pour extraire des images d’un PDF
Aspose.Words for Python vous permet d’extraire les images d’un fichier PDF en quelques étapes simples. Voici le flux de travail expliquant comment extraire des images d’un PDF à l’aide d’Aspose.Words for Python.
- Chargez le fichier PDF à partir de l’emplacement souhaité.
- Convertir PDF au format DOCX.
- Traiter la version DOCX du PDF et extraire les images
- Enregistrez chaque image sous forme de fichier à l’emplacement souhaité.
La section suivante montre comment transformer les étapes mentionnées ci-dessus en code Python et extraire des images d’un PDF.
Extraire des images d’un PDF en Python
Lors du processus d’extraction d’image, nous allons d’abord convertir le fichier PDF au format DOCX. Dans un fichier DOCX, les images sont représentées par les nœuds de forme. Par conséquent, nous allons traiter chaque forme et en extraire l’image.
Voici les étapes pour extraire des images d’un PDF en Python.
- Tout d’abord, chargez le fichier PDF à l’aide de la classe Document.
- Ensuite, enregistrez le PDF au format DOCX et chargez la version DOCX du fichier PDF.
- Récupérez toutes les formes dans un objet à l’aide de la méthode Document.getchildnodes(NodeType.SHAPE, True).
- Parcourez les formes et effectuez les opérations suivantes pour chaque nœud de forme :
- Transformez la forme en type Shape à l’aide de la méthode asshape().
- Utilisez la méthode Shape.hasimage() pour vérifier si la forme a une image.
- Extrayez l’image de la forme et enregistrez-la à l’aide de la méthode Shape.imagedata.save(string).
L’exemple de code suivant illustre l’extraction d’images d’un document PDF en Python.
# Importer Aspose.Words pour le module Python
import aspose.words as aw
# charger le fichier PDF et le convertir au format Word DOCX
pdf = aw.Document("document.pdf")
pdf.save("pdf.docx")
# charger la version DOCX du PDF
doc = aw.Document("pdf.docx")
# récupérer toutes les formes
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0
# boucle à travers les formes
for shape in shapes :
shape = shape.as_shape()
if (shape.has_image) :
# définir le nom du fichier image
imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"
# enregistrer l'image
shape.image_data.save(imageFileName)
imageIndex += 1
Bibliothèque d’extraction d’images Python PDF - Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour extraire des images d’un PDF sans limitation d’évaluation.
Conclusion
Lors de l’analyse des documents PDF, les images doivent également être extraites avec le texte. Dans cet article, vous avez appris à extraire des images d’un PDF en Python. Vous pouvez simplement installer Aspose.Words for Python et intégrer l’extraction d’images dans vos applications.
Explorez la bibliothèque d’extraction d’images PDF d’Aspose
Aspose.Words for Python offre une gamme d’autres fonctionnalités pour manipuler des documents texte. Vous pouvez visiter la documentation pour en savoir plus sur la bibliothèque. Si vous avez des questions, n’hésitez pas à nous en faire part via notre forum.