您的位置:首页 >用Python从Word文档中提取文本和图片
发布于2023-09-29 阅读(0)
扫一扫,手机访问
从Word文档中提取内容使我们能够将它们用于其他操作,例如将内容存储在数据库中、将内容导入到其他程序中、用于人工智能训练和创建其他文档。 Spire.Doc for Python 可以轻松从 Word 文档中提取文本和图像,无需大量复制和粘贴或复杂的代码。本文介绍如何使用简单的代码从 Word 文档中提取并保存文本和图像内容。
在使用此工具编辑 Word 文档之前,您必须将其导入项目中。可以从Spire.Doc for Python官网下载或者直接用pip安装。代码如下所示:
pip install Spire.Doc pip install plum-dispatch==1.7.4
Musterdokument

Spire.Doc for Python 的 Document.GetText() 方法可以检索 Word 文档中的所有文本并将其作为字符串返回。我们可以将返回的字符串写入文本文件中进行存储。步骤如下:
代码贝斯皮尔
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()
Extrahierter Text

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:
代码贝斯皮尔
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()
Extrahierte Bilder

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.
这是关于使用 Spire.Doc for Python 从 Word 文档中提取文本和图像的介绍。 Spire.Doc for Python 支持许多其他文档操作。查看官方网站或加入 Spire.Doc 论坛。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9