从word文档中提取内容使我们能够将它们用于其他操作,例如将内容存储在数据库中、将内容导入到其他程序中、用于人工智能训练和创建其他文档。 spire.doc for python 可以轻松从 word 文档中提取文本和图像,无需大量复制和粘贴或复杂的代码。本文介绍如何使用简单的代码从 word 文档中提取并保存文本和图像内容。
为 Python 导入 Spire.Doc
在使用此工具编辑 Word 文档之前,您必须将其导入项目中。可以从Spire.Doc for Python官网下载或者直接用pip安装。代码如下所示:
pip install Spire.Docpip install plum-dispatch==1.7.4
登录后复制
Musterdokument
从Word文档中提取文本并写入TXT文件
Spire.Doc for Python 的 Document.GetText() 方法可以检索 Word 文档中的所有文本并将其作为字符串返回。我们可以将返回的字符串写入文本文件中进行存储。步骤如下:
立即学习“Python免费学习笔记(深入)”;
创建一个文档对象。使用 Document.LoadFromFile() 方法加载 Word 文档。使用 Document.GetText() 方法从文档中获取文本。Den abgerufenen Text in eine Textdatei schreiben.
代码贝斯皮尔
Python
Copyfrom turtle import stfrom 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 ladendocument.LoadFromFile(inputFile)#Text aus Dokument abrufentext = document.GetText()#Text in Textdatei schreibenWriteAllText(outputFile, text)document.Close()
登录后复制
Extrahierter Text
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:
创建一个文档对象。使用 Document.LoadFromFile() 方法加载 Word 文档。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.
代码贝斯皮尔
Python
Copyimport queuefrom spire.doc import * from spire.doc.common import *import osoutputPath = "Bilder/"inputFile = "Beispiel.docx"if not os.path.exists(outputPath): os.makedirs(outputPath)#Document-Objekt erstellendocument = Document() #Word-Dokument ladendocument.LoadFromFile(inputFile)#Warteschlange erstellen und Dokumentenelemente hinzufügennodes = queue.Queue()nodes.put(document)#Liste erstellenimages = []#Dokumentenelemente durchlaufenwhile 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 speichernfor 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 论坛。
以上就是用Python从Word文档中提取文本和图片的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2226053.html