DEV Community

Liam Anderson
Liam Anderson

Posted on

Comment extraire du texte et des images à partir de documents Word avec Python

En extrayant du texte et des images à partir de documents Word, vous pouvez adapter et réutiliser le contenu pour différents médias. Par exemple, vous pouvez vouloir utiliser une section particulière de texte d'un document volumineux dans une newsletter par e-mail ou republier une image d'un rapport Word dans un article de blog. L'extraction de contenu vous permet de l'intégrer facilement dans différentes plateformes, le rendant ainsi plus accessible et attrayant pour votre public cible sur différents médias. Dans cet article, nous allons vous montrer comment extraire du texte et des images à partir de documents Word en utilisant Python.

Installer la bibliothèque requise pour le traitement des documents Word

Pour extraire du texte et des images à partir de documents Word, nous pouvons utiliser la bibliothèque Spire.Doc for Python, qui nous permet de créer, lire, convertir et manipuler des documents Word dans des applications Python.

Avant de commencer, nous devons installer cette bibliothèque. Ouvrez simplement le terminal de votre projet et exécutez la commande pip suivante :

pip install Spire.Doc
Enter fullscreen mode Exit fullscreen mode

Extraire du texte à partir d'un document Word avec Python

Voici un exemple de code simple qui montre comment extraire du texte à partir d'un document Word en utilisant Python et la bibliothèque Spire.Doc for Python :

from spire.doc import * 
from spire.doc.common import * 

# Créer un objet Document 
doc = Document() 

# Charger un fichier Word 
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx") 

# Obtenir le texte de l'ensemble du document 
str = doc.GetText() 

# Afficher le résultat 
print(str) 
Enter fullscreen mode Exit fullscreen mode

Extraire des images à partir d'un document Word avec Python

Voici un exemple de code simple qui montre comment extraire des images à partir d'un document Word en utilisant Python et la bibliothèque Spire.Doc for Python :

import queue 
from spire.doc import * 
from spire.doc.common import * 

# Créer un objet Document 
doc = Document() 

# Charger un fichier Word 
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx") 

# Créer un objet Queue 
nodes = queue.Queue() 
nodes.put(doc) 

# Créer une liste 
images = [] 

while nodes.qsize() > 0: 
    node = nodes.get() 

    # Parcourir les objets enfants dans le document 
    for i in range(node.ChildObjects.Count): 
        child = node.ChildObjects.get_Item(i) 

        # Déterminer si un objet enfant est une image 
        if child.DocumentObjectType == DocumentObjectType.Picture: 
            picture = child if isinstance(child, DocPicture) else None 
            dataBytes = picture.ImageBytes 

            # Ajouter les données de l'image à la liste 
            images.append(dataBytes) 

        elif isinstance(child, ICompositeObject): 
            nodes.put(child if isinstance(child, ICompositeObject) else None) 

# Parcourir les images dans la liste 
for i, item in enumerate(images): 
    fileName = "Image-{}.png".format(i) 
    with open("ExtractedImages/"+fileName,'wb') as imageFile: 

        # Écrire l'image dans un chemin spécifié 
        imageFile.write(item) 
doc.Close() 
Enter fullscreen mode Exit fullscreen mode

Conclusion

L'extraction de texte et d'images à partir de documents Word est une tâche précieuse dans divers scénarios. Avec l'aide de la bibliothèque Spire.Doc for Python, nous pouvons facilement extraire du contenu textuel et des images à partir de documents Word.

Sujets connexes

Top comments (0)