Mit DOC Reader arbeiten

Mit DOC Reader arbeiten

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Datei - die DocFileReader Die Klasse vergleicht das OLE2 binäre Format und produziert ein Light Document Model (LDM), das manipuliert oder in andere Formate konvertiert werden kann.


Laden Sie ein DOC-Datei

Gebrauch DocFileReader zu öffnen a .doc Datei aus dem Disk und konvertieren sie in eine Document:

import aspose.words_foss as aw

doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")

Die Document Konstruktor Delegate für create_reader(), die wählt DocFileReader Automatisch basiert auf der .doc Ausdehnung .


Verwenden Sie DocFileReaderCore direkt

Für die niedrigere Kontrolle, Instantiate DocFileReaderCore und nennen Sie seine Lademethoden:

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

reader = DocFileReaderCore()
reader.load_file("legacy.doc")

DocFileReaderCore Es gibt drei Eintrittsmethoden:

MethodeEintrittstypVerwendung von Fall
load_file(filepath)Datei Path StringLesen Sie von Disk
load_stream(stream)Datei-Stimmung ObjekteLesen Sie von upload oder network stream
load_bytes(data)bytesLesen Sie von in-memory buffer

Erstellen des Lichtdokumentmodells

Nach dem Laden, rufen Sie to_light_document() auf DocFileReader um eine LDM zu produzieren Document:

from aspose.words_foss.doc_reader.doc_file_reader import DocFileReader

reader = DocFileReader()
reader.load_file("input.doc")
ldm_doc = reader.to_light_document()

Die LDM ist die interne Vertretung, die in allen Lesern geteilt wird (DocFileReader, DocumentReader, TextFileReaderSobald Sie ein LDM-Dokument haben, können Sie es in jedem unterstützten Ausgangsformat speichern.


Das DokumentFormatReader-Protokoll

Alle Leser setzen die DocumentFormatReader Protokoll, das die gemeinsame Schnittstelle definiert: load_file(), load_stream(),und load_bytes(). die create_reader() Die Fabrikfunktion kehrt den entsprechenden Leser auf der Grundlage der Dateierweiterung zurück:

from aspose.words_foss.reader_factory import create_reader

reader = create_reader("data.doc")  # returns DocFileReader
reader.load_file("data.doc")

Tipps und beste Praktiken

  • Verwenden Sie die hohe Ebene Document("file.doc") Konstruktor für die meisten Arbeitsflüsse – es verwalt die Leserwahl automatisch.
  • Gebrauch DocFileReaderCore Nur wenn Sie einen direkten Zugang zum binären Parsing-Schicht benötigen.
  • Für die Dateien, die als bytes (z. B. aus HTTP-Upload), bevorzugt load_bytes() Vermeiden Sie die Schreibzeit von temporären Dateien.
  • Der DOC-Reader unterstützt die gleiche Runde-Trip-Glaubwürdigkeit wie der DOCX-Reader für Text, Absätze und Grundformatering.

Gemeinsame Probleme

ThemaUrsacheFix
load_file() Aufstieg FileNotFoundErrorUnregelmäßige Datei-PathÜberprüfen Sie den Weg, der vorhanden ist, bevor Sie rufen
Text nach dem LadenDatei ist nicht eine gültige OLE2 binäreBestätigen Sie, dass die Datei wahr ist .doc Form, nicht umbenannt .docx
Fehlende Formate in der ProduktionEinige fortschrittliche DOC-Funktionen sind noch nicht unterstütztCheck limitations.md für ununterstützte Funktionen

FAQ

Was ist der Unterschied zwischen DocFileReader und DocFileReaderCore?

DocFileReaderCore Handeln Sie die niedrigem Niveau binäre Parsing des OLE2 Formats. DocFileReader Erweitern Sie es durch die Zusatzung der to_light_document() Methode, die eine vollständige LDM produziert Document geeignet für Konvertierung.

Kann ich eine DOC-Datei aus einem Stream laden?

Ja, benutzen Sie DocFileReaderCore.load_stream(stream) oder ein Datei-like Objekt passieren. Dies ist nützlich für Web-Anwendungen, in denen Dateien als Streams hochgeladen werden.

Handelt der DOC-Reader Passwortschutzte Dateien?

Passwort geschützt .doc Dateien werden derzeit nicht unterstützt. Der Leser wird eine Ausnahme erheben, wenn die Datei verschlüsselt ist.


API Referenzabschnitt

Klasse / MethodeBeschreibung
DocFileReaderVoll DOC-Leser mit LDM-Konstruktionskapazität
DocFileReader.to_light_document()Konvertiert parsed DOC-Daten in ein LDM-Dokument
DocFileReaderCoreCore Reader für Word 97-2003 (.doc) binäre Dateien
DocFileReaderCore.load_file(filepath)Laden Sie eine DOC-Datei aus einem Weg
DocFileReaderCore.load_stream(stream)Laden Sie eine DOC-Datei aus einem Stream
DocFileReaderCore.load_bytes(data)Laden Sie eine DOC-Datei aus einem Buffer-Bytes herunter
DocumentFormatReaderProtokollinterface für alle Dokumentleser
create_reader(path)Fabrik, die den richtigen Leser für eine Dateierweiterung zurückgibt
 Deutsch