Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ekstrak teks dan imej daripada dokumen Word menggunakan Python

Ekstrak teks dan imej daripada dokumen Word menggunakan Python

王林
王林asal
2023-08-28 18:21:071207semak imbas

Mengekstrak kandungan daripada dokumen Word membolehkan kami menggunakannya untuk operasi lain, seperti menyimpan kandungan dalam pangkalan data, mengimport kandungan ke dalam program lain, untuk latihan kecerdasan buatan dan mencipta dokumen lain. Spire.Doc untuk Python memudahkan untuk mengekstrak teks dan imej daripada dokumen Word tanpa banyak menyalin dan menampal atau pengekodan yang kompleks. Artikel ini menerangkan cara menggunakan kod ringkas untuk mengekstrak dan menyimpan kandungan teks dan imej daripada dokumen Word.

Import Spire.Doc untuk Python

Sebelum anda boleh menggunakan alat ini untuk mengedit dokumen Word, anda mesti mengimportnya ke dalam projek. Anda boleh memuat turunnya dari laman web rasmi Spire.Doc untuk Python atau memasangnya terus dengan pip. Kodnya kelihatan seperti ini:

pip install Spire.Doc
pip install plum-dispatch==1.7.4
Masukkan mod skrin penuh Keluar daripada mod skrin penuh

Musterdokument

Ekstrak teks dan imej daripada dokumen Word menggunakan Python

Ekstrak teks daripada dokumen Word dan tulis ke fail TXT

Kaedah

Document.GetText() Spire.Doc untuk Python boleh mendapatkan semula semua teks dalam dokumen Word dan mengembalikannya sebagai rentetan. Kita boleh menulis rentetan yang dikembalikan ke dalam fail teks untuk penyimpanan. Langkah-langkahnya adalah seperti berikut:

  • Mencipta objek Dokumen.
  • Gunakan kaedah Document.LoadFromFile() untuk memuatkan dokumen Word.
  • Dapatkan teks daripada dokumen menggunakan kaedah Document.GetText().
  • Tes abgerufenen dalam eine Textdatei schreiben.

Kod 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()
Masukkan mod skrin penuh Keluar daripada mod skrin penuh

Teks Extrahierter

Ekstrak teks dan imej daripada dokumen Word menggunakan Python

Bilder aus Word-Dokument extrahieren und speichern

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

  • Mencipta objek Dokumen.
  • Gunakan kaedah Document.LoadFromFile() untuk memuatkan dokumen 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 oder Bildobjekt handelt.
  • Prüfen, ob das untergeordnete Element ein Bildobjekt ist, die Bilddaten extrahieren und zur Liste hinzufügen.
  • Prüfen, ob das untergeordnete Element ein zusammengesetztes Objekt ist.
  • Bilder dalam einen Ordner speichern.

Kod 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()
Masukkan mod skrin penuh Keluar daripada mod skrin penuh

Bilder Extrahierte

Ekstrak teks dan imej daripada dokumen Word menggunakan Python

Der extrahierte Text wird mit angehängten Bewertungsinformationen gespeichert.

Ini ialah pengenalan menggunakan Spire.Doc untuk Python untuk mengekstrak teks dan imej daripada dokumen Word. Spire.Doc untuk Python menyokong banyak operasi dokumen lain. Semak tapak web rasmi atau sertai forum Spire.Doc.

Atas ialah kandungan terperinci Ekstrak teks dan imej daripada dokumen Word menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn