Treballar amb DOC Reader
Treballar amb DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Els arxius. DocFileReader classe analisa el format binari OLE2 i produeix un Light Document Model (LDM) que pot ser manipulada o convertit a altres formats.
Carregament d’un arxiu DOC
Utilització: DocFileReader per obrir una .doc arxiu del disc i convertir-lo en un Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")El Document delegats del constructor a create_reader(), que selecciona: DocFileReader automàticament basat en el .doc extensió.
Utilitzar DocFileReaderCore directament
Per a control de nivell inferior, instanciar DocFileReaderCore i cridar els seus mètodes de càrrega:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore proporciona tres mètodes d’entrada:
| Mètode | Tipus d’entrada | Cas d’ús |
|---|---|---|
load_file(filepath) | Cadenes de ruta del fitxer | Llegir des del disc |
load_stream(stream) | Objectes de tipus fitxer | Llegir des de la càrrega o del flux de xarxa |
load_bytes(data) | bytes | Llegir des del buffer de memòria |
Construir el model de document lleuger
Després de carregar, trucar. to_light_document() en el DocFileReader per produir 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()La LDM és la representació interna compartida entre tots els lectors (DocFileReader, DocumentReader, TextFileReader). Un cop que tinguis un document LDM, pots guardar-lo en qualsevol format de sortida suportat.
El protocol DocumentFormatReader
Tots els lectors implementen el programa de la UE. DocumentFormatReader protocol, que defineix la interfície comuna: load_file(), load_stream(), i load_bytes().El . create_reader() la funció factory retorna el lector adequat basat en l’extensió de fitxer:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")Consells i millors pràctiques
- Utilitza el nivell alt.
Document("file.doc")constructor per a la majoria dels fluxos de treball gestiona automàticament la selecció del lector. - Utilització:
DocFileReaderCoreNomés quan necessites accés directe a la capa d’anàlisi binària. - Per als fitxers rebuts com a:
bytes(per exemple, des de submissions HTTP), preferirload_bytes()per evitar escriure arxius temporals. - El lector DOC dóna suport a la mateixa fidelitat d’anar i venir que el lecteur DODX per al text, paràgrafs i formatatge bàsic.
Problemàtiques comuns
| Edició | Causa | Correcció |
|---|---|---|
load_file() augmentacions FileNotFoundError | Tràfica de fitxer incorrecta | Verifica que la ruta existeix abans de trucar. |
| Text confús després de la càrrega | El fitxer no és un binari OLE2 vàlid. | Confirma que el fitxer és genuí. .doc format, no un nom canviat .docx |
| Falta de formatatge en la sortida | Algunes característiques avançades de DOC encara no suportades | Compte de pagament limitations.md per a característiques no suportades |
FAQ
Quina és la diferència entre DocFileReader i DocFiLeaderCore?
DocFileReaderCore gestiona l’anàlisi binària de baix nivell del format OLE2. DocFileReader l’amplia afegint el to_light_document() mètode que produeix una LDM completa. Document adequat per a la conversió.
Puc carregar un fitxer DOC des d’un flux?
Sí, utilitzeu-la. DocFileReaderCore.load_stream(stream) Això és útil per a aplicacions web on els arxius s’uploaden com a flux.
El lector de DOC gestiona arxius protegits per contrasenya?
Protegit per contrasenya .doc Els lectors plantejaran una excepció si el fitxer està xifrat.
Resum de referència d’API
| Classe / mètode | Descripció |
|---|---|
DocFileReader | Lider de DOC complet amb capacitat d’edificació LDM. |
DocFileReader.to_light_document() | Convertir dades de DOC analitzades en un document LDM. |
DocFileReaderCore | Lector de núcleu per a fitxers binaris Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | Carregar un arxiu DOC des d’una ruta |
DocFileReaderCore.load_stream(stream) | Carregar un arxiu DOC des d’un flux |
DocFileReaderCore.load_bytes(data) | Carregar un arxiu DOC des d’un buffer de bytes |
DocumentFormatReader | Interfície de protocol per a tots els lectors de documents |
create_reader(path) | Factory que torna el lector correcte per a una extensió de fitxer |