Logo

dev-resources.site

for different kinds of informations.

Mit Python Text und Bilder aus Word-Dokumenten extrahieren

Published at
8/23/2023
Categories
python
text
imag
word
Author
sironly
Categories
4 categories in total
python
open
text
open
imag
open
word
open
Author
7 person written this
sironly
open
Mit Python Text und Bilder aus Word-Dokumenten extrahieren

Inhalte aus Word-Dokumenten zu extrahieren ermöglicht es uns, diese für andere Operationen zu verwenden, wie z.B. Inhalte in Datenbanken zu speichern, Inhalte in andere Programme zu importieren, für KI-Trainings zu verwenden und andere Dokumente zu erstellen. Mit Spire.Doc for Python ist es ein Leichtes, Text und Bilder aus Word-Dokumenten zu extrahieren, ohne aufwendiges Kopieren und Einfügen oder komplizierten Code. Dieser Artikel erklärt, wie man mit einfachem Code Text und Bildinhalte aus Word-Dokumenten extrahiert und speichert.

Spire.Doc for Python importieren

Bevor man mit diesem Tool Word-Dokumente bearbeiten kann, muss man es in das Projekt importieren. Es kann von der offiziellen Website von Spire.Doc for Python heruntergeladen oder direkt mit pip installiert werden. Der Code sieht wie folgt aus:

pip install Spire.Doc
pip install plum-dispatch==1.7.4
Enter fullscreen mode Exit fullscreen mode

Musterdokument

Mit Python Text und Bilder aus Word-Dokumenten extrahieren

Text aus Word-Dokument extrahieren und in TXT-Datei schreiben

Die Methode Document.GetText() von Spire.Doc für Python kann den gesamten Text aus dem Word-Dokument abrufen und als Zeichenfolge zurückgeben. Wir können die zurückgegebene Zeichenfolge in eine Textdatei zum Speichern schreiben. Die Schritte sind wie folgt:

  • Ein Document-Objekt erstellen.
  • Das Word-Dokument mit der Document.LoadFromFile()-Methode laden.
  • Den Text aus dem Dokument mit der Document.GetText()-Methode abrufen.
  • Den abgerufenen Text in eine Textdatei schreiben.

Codebeispiel
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()
Enter fullscreen mode Exit fullscreen mode

Extrahierter Text

Text aus Word-Dokument extrahieren und in TXT-Datei schreiben

Bilder aus Word-Dokument extrahieren und speichern

Das Extrahieren von Bildern ist etwas komplexer. Man muss prüfen, ob das untergeordnete Objekt des Dokumentenelements ein Bild oder ein zusammengesetztes Objekt ist. Bei einem Bild wird es gespeichert, bei einem zusammengesetzten Objekt muss geprüft werden, ob dessen untergeordnete Objekte Bilder enthalten. Die Schritte:

  • Ein Document-Objekt erstellen.
  • Das Word-Dokument mit der Document.loadFromFile()-Methode laden.
  • Eine Warteschlange für zusammengesetzte Objekte erstellen und die Dokumentenelemente hinzufügen.
  • Eine Liste zum Speichern der extrahierten Bilder erstellen.
  • Die Dokumentenelemente durchlaufen und die untergeordneten Objekte jedes Knotens durchlaufen, um zu prüfen, ob es sich um ein zusammengesetztes Objekt oder Bildobjekt handelt.
  • Prüfen, ob das untergeordnete Element ein Bildobjekt ist. Wenn ja, die Bilddaten extrahieren und zur Liste hinzufügen.
  • Prüfen, ob das untergeordnete Element ein zusammengesetztes Objekt ist. Wenn ja, zur Warteschlange hinzufügen und weiter prüfen.
  • Bilder in einen Ordner speichern.

Codebeispiel
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()
Enter fullscreen mode Exit fullscreen mode

Extrahierte Bilder
Bilder aus Word-Dokument extrahieren und speichern

Der extrahierte Text wird mit angehängten Bewertungsinformationen gespeichert. Sie können die Bewertungsinformationen direkt am Anfang des Textes löschen. Die extrahierten Bilder sind nicht mit einem Wasserzeichen versehen.

Das war eine Einführung, wie man mit Spire.Doc für Python Text und Bilder aus Word-Dokumenten extrahiert. Spire.Doc für Python unterstützt viele weitere Dokumentoperationen. Schauen Sie auf der offiziellen Website vorbei oder nehmen Sie am Spire.Doc Forum teil.

text Article's
30 articles in total
Favicon
How to work with regular expressions
Favicon
Ultimate Guide to Exam Preparation Materials: Study Smarter, Not Harder
Favicon
The Importance of Earning an IT Certification: Unlocking Career Opportunities in the Digital Age
Favicon
CSS: List of Properties for Text
Favicon
Implementing UTF-8 Encoding in Zig
Favicon
Working with Different File Modes and File Types in Python
Favicon
teste
Favicon
A React component for highlighting text selections within text and HTML content
Favicon
Automatic convert audio notes to text with React
Favicon
How are AI text generators like GPT-3 revolutionizing content creation and storytelling?
Favicon
How to Add Blurred Text in React Native
Favicon
Introducing Speakatoo: Your Ultimate Spanish Text-to-Speech Solution
Favicon
Anonymous texting apps
Favicon
Einfügen eines Textwasserzeichens in PDF mit Java
Favicon
CSS Rainbow Text Effect To Spice Up Your Web Design
Favicon
The Beginner’s Handbook to Enhancing Web Speed: A Focus on Image Optimization
Favicon
Extrahieren von Text und Bildern aus PDF-Dokumenten mit Python
Favicon
Hinzufügen eines Text- oder Bild-Wasserzeichens zu einem Word-Dokument mit Python
Favicon
Comment trouver et remplacer des données dans Excel avec C# et VB.NET
Favicon
Mit Python Text und Bilder aus Word-Dokumenten extrahieren
Favicon
Zalgo Font Generator: Elevate Your Content with Creepy Text
Favicon
A React application that generate summaries of text documents
Favicon
Best Large Language Model APIs in 2023
Favicon
How to show less content in Angular
Favicon
Best AI Content Detection APIs in 2023
Favicon
Lire rapidement ou extraire du texte à partir d'un PDF en Java
Favicon
Unleashing Productivity with Vim - A Powerful Text Editor for All
Favicon
Arabic Text Rendering Issues in JavaFX
Favicon
How to extract text and image from word in Java applications
Favicon
flutter text widget example

Featured ones: