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 evaluare | Tip de intrare | Caz de utilizare |
|---|---|---|
load_file(filepath) | Sârmă de traseu a fișierului | Citit de pe disc |
load_stream(stream) | Obiect ca fișier | Citit de la încărcare sau flux de rețea |
load_bytes(data) | bytes | Citit 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:
DocFileReaderCoreDoar 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 date | Cauza | Fixare |
|---|---|---|
load_file() creșteri de valoare FileNotFoundError | Cale incorectă a fișierului | Verificați că ruta există înainte de a suna |
| Text încurcat după încărcare | Fişier nu este un binar OLE2 valid | Confirmă fişierul este autentic . .doc format, nu un numit din nou .docx |
| Formatare lipsă în ieșire | Unele caracteristici avansate DOC nu sunt încă suportate | Verifică. 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 / metoda | Descriere: |
|---|---|
DocFileReader | Cititor complet DOC cu capacitate de construcție LDM |
DocFileReader.to_light_document() | Convertează datele DOC analizat la un document LDM |
DocFileReaderCore | Cititor 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 |
DocumentFormatReader | Interfață de protocol pentru toate cititorii de documente |
create_reader(path) | Factoriile care returnează cititorul corect pentru o extensie de fișier |