Maison  >  Article  >  développement back-end  >  Extraire du texte et des images de documents Word à l'aide de Python

Extraire du texte et des images de documents Word à l'aide de Python

王林
王林original
2023-08-28 18:21:071209parcourir

Extraire du contenu de documents Word nous permet de les utiliser pour d'autres opérations, telles que le stockage de contenu dans des bases de données, l'importation de contenu dans d'autres programmes, pour la formation à l'intelligence artificielle et la création d'autres documents. Spire.Doc pour Python facilite l'extraction de texte et d'images à partir de documents Word sans beaucoup de copier-coller ni de codage complexe. Cet article explique comment utiliser un code simple pour extraire et enregistrer le contenu du texte et des images d'un document Word.

Importer Spire.Doc pour Python

Avant de pouvoir utiliser cet outil pour modifier un document Word, vous devez l'importer dans un projet. Vous pouvez le télécharger depuis le site officiel de Spire.Doc pour Python ou l'installer directement avec pip. Le code ressemble à ceci :

pip install Spire.Doc
pip install plum-dispatch==1.7.4
Entrez en mode plein écran Quitter le mode plein écran

Document de rassemblement

Extraire du texte et des images de documents Word à laide de Python

Extraire le texte d'un document Word et l'écrire dans un fichier TXT

La méthode

Document.GetText() de Spire.Doc pour Python peut récupérer tout le texte d'un document Word et le renvoyer sous forme de chaîne. Nous pouvons écrire la chaîne renvoyée dans un fichier texte pour le stockage. Les étapes sont les suivantes :

  • Crée un objet Document.
  • Utilisez la méthode Document.LoadFromFile() pour charger un document Word.
  • Récupérez le texte d'un document à l'aide de la méthode Document.GetText().
  • Den abgerufenen Text in eine Textdatei schreiben.

Code Bespiel

Python

Copy
from turtle import st
from spire.doc import *
from spire.doc.common import *

def WriteAllText(fname:str,text:List[str]):
        fp = open(fname,"w")
        for s in text:
            fp.write(s)
        fp.close()

inputFile = "Beispiel.docx"
outputFile = "Extrahierter Text.txt"

#Document-Objekt erstellen  
document = Document()

#Word-Dokument laden
document.LoadFromFile(inputFile)

#Text aus Dokument abrufen
text = document.GetText()

#Text in Textdatei schreiben
WriteAllText(outputFile, text)
document.Close()
Entrez en mode plein écran Quitter le mode plein écran

Texte Extrahierter

Extraire du texte et des images de documents Word à laide de Python

Images du document Word extrahieren et speichern

Das Extrahieren von Bildern ist etwas den, ob dessen untergeordnete Objekte Bilder enthalten:

  • Crée un objet Document.
  • Utilisez la méthode Document.LoadFromFile() pour charger un document Word.
  • Eine Warteschlange für zusammengesetzte Objekte erstellen und die Dokumentenelemente hinzufügen.
  • Eine Liste zum Speichern der extrahierten Bilder erstellen.
  • Die Dokumentenelemente durchlaufen and die untergeordneten Objekte jedes Knotens durchlaufen, um zu prüfen, ob es sich um ein zusammengesetztes Objekt or Bildobjekt handelt.
  • Prüfen, ob das untergeordnete Element ein Bildobjekt ist Wenn ja, die Bilddaten extrahieren and zur List hinzufügen.
  • Prüfen, ob das untergeordnete Element ein zusammengesetztes Objekt ist Wenn ja, zur Warteschlange hinzufügen et weiter prüfen.
  • Bilder in einen Ordner speichern.

Code Bespiel

Python

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

outputPath = "Bilder/"
inputFile = "Beispiel.docx"

if not os.path.exists(outputPath):
    os.makedirs(outputPath)

#Document-Objekt erstellen
document = Document()  

#Word-Dokument laden
document.LoadFromFile(inputFile)

#Warteschlange erstellen und Dokumentenelemente hinzufügen
nodes = queue.Queue()
nodes.put(document)

#Liste erstellen
images = []

#Dokumentenelemente durchlaufen
while nodes.qsize() > 0:
    node = nodes.get()
    for i in range(node.ChildObjects.Count):
        #Untergeordnetes Objekt des Dokumentenelements abrufen
        child = node.ChildObjects.get_Item(i)
        #Prüfen, ob es ein Bild ist
        if child.DocumentObjectType == DocumentObjectType.Picture:
            picture = child if isinstance(child, DocPicture) else None
            dataBytes = picture.ImageBytes
            #Zur Liste hinzufügen
            images.append(dataBytes)
        #Prüfen, ob es ein zusammengesetztes Objekt ist
        elif isinstance(child, ICompositeObject):
            #Zur Warteschlange hinzufügen
            nodes.put(child if isinstance(child, ICompositeObject) else None)

#Bilder speichern
for i, item in enumerate(images):
    fileName = "Bild-{}.png".format(i)
    with open(outputPath+fileName,'wb') as imageFile:
        imageFile.write(item)

document.Close()
Entrez en mode plein écran Quitter le mode plein écran

Images supplémentaires

Extraire du texte et des images de documents Word à laide de Python

Le texte extrahierte wird mit angehängten Bewertungsinformationen gespeichert Sie können die Bewertungsinformationen direct am Anfang des Textes löschen.

Ceci est une introduction à l'utilisation de Spire.Doc pour Python pour extraire du texte et des images à partir de documents Word. Spire.Doc pour Python prend en charge de nombreuses autres opérations sur les documents. Consultez le site officiel ou rejoignez le forum Spire.Doc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn