從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. 公平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 nict mit.
這是關於使用 Spire.Doc for Python 從 Word 文件中提取文字和圖像的介紹。 Spire.Doc for Python 支援許多其他文件操作。查看官方網站或加入 Spire.Doc 論壇。
以上是用Python從Word文件中擷取文字和圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!