Lucrarea cu DOC Reader

Lucrarea cu DOC Reader

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Dosarele. DocFileReader clasa analizează formatul binar OLE2 și produce un Model de Document Light (LDM) care poate fi manipulat sau convertit în alte formate.


Încărcarea unui fișier DOC

Utilizare: DocFileReader să deschidă o .doc fişier de pe disc şi să-l convertiţi într-un Document:

import aspose.words_foss as aw

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

În ceea ce priveşte Document delegate constructorului la: create_reader(), care selectează: DocFileReader în mod automat pe baza .doc extinderea.


Folosind DocFileReaderCore direct

Pentru controlul de nivel inferior, instantiate DocFileReaderCore și să solicite metodele de încărcare:

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

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

DocFileReaderCore oferă trei metode de introducere:

Metoda de evaluareTip de intrareCaz de utilizare
load_file(filepath)Sârmă de traseu a fișieruluiCitit de pe disc
load_stream(stream)Obiect ca fișierCitit de la încărcare sau flux de rețea
load_bytes(data)bytesCitit din buffer-ul memoriei

Construirea modelului de document luminos

După încărcare, sună. to_light_document() în DocFileReader pentru a produce un LDM 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()

LDM este reprezentarea internă împărțită între toți cititorii (DocFileReader, DocumentReader, TextFileReader) După ce aveți un document LDM, îl puteți salva în orice format de ieșire suportat.


Protocolul DocumentFormatReader

Toate cititorii implementează DocumentFormatReader protocol, care definește interfața comună: load_file(), load_stream(), și load_bytes().- Ce ? create_reader() funcția factory returnează cititorul corespunzător pe baza extensiei fișierului:

from aspose.words_foss.reader_factory import create_reader

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

Sfaturi şi cele mai bune practici

  • Foloseşte nivelul înalt. Document("file.doc") constructor pentru majoritatea fluxurilor de lucru se ocupă automat de selecția cititorului.
  • Utilizare: DocFileReaderCore Doar atunci când ai nevoie de acces direct la stratul binar de analizare.
  • Pentru dosarele primite ca: bytes (de exemplu, de la încărcări HTTP), preferă load_bytes() pentru a evita scrierea fişierelor temporare.
  • Cititorul DOC suportă aceeași fidelitate de întoarcere ca cititorului DODX pentru text, paragrafe și formatare de bază.

Probleme comune

Numărul de dateCauzaFixare
load_file() creșteri de valoare FileNotFoundErrorCale incorectă a fișieruluiVerificați că ruta există înainte de a suna
Text încurcat după încărcareFişier nu este un binar OLE2 validConfirmă fişierul este autentic . .doc format, nu un numit din nou .docx
Formatare lipsă în ieșireUnele caracteristici avansate DOC nu sunt încă suportateVerifică. limitations.md pentru caracteristici neînsoțite

FAQ

Care este diferența dintre DocFileReader și DocFiLeaderCore?

DocFileReaderCore se ocupă de analiza binară la nivel scăzut a formatului OLE2. DocFileReader extinde-l prin adăugarea lui to_light_document() metodă care produce o LDM completă; Document potrivit pentru conversie.

Pot încărca un fişier DOC dintr-un flux?

Da, foloseşte-l. DocFileReaderCore.load_stream(stream) Acest lucru este util pentru aplicațiile web în care fișierele sunt încărcate ca fluxuri.

Cititorul DOC se ocupă de fișiere protejate prin parolă?

Protejate cu parolă .doc Fişierele nu sunt suportate în prezent. Cititorul va ridica o excepţie dacă fişierul este criptat.


Rezultatele de la data aplicării.

Clasa / metodaDescriere:
DocFileReaderCititor complet DOC cu capacitate de construcție LDM
DocFileReader.to_light_document()Convertează datele DOC analizat la un document LDM
DocFileReaderCoreCititor de bază pentru fișiere binare Word 97-2003 (.doc)
DocFileReaderCore.load_file(filepath)Încărcarea unui fișier DOC dintr-o cale
DocFileReaderCore.load_stream(stream)Încărcarea unui fișier DOC dintr-un flux
DocFileReaderCore.load_bytes(data)Încărcarea unui fișier DOC dintr-un buffer de biți
DocumentFormatReaderInterfață de protocol pentru toate cititorii de documente
create_reader(path)Factoriile care returnează cititorul corect pentru o extensie de fișier
 Română