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ètodeTipus d’entradaCas d’ús
load_file(filepath)Cadenes de ruta del fitxerLlegir des del disc
load_stream(stream)Objectes de tipus fitxerLlegir des de la càrrega o del flux de xarxa
load_bytes(data)bytesLlegir 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ó: DocFileReaderCore Nomé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), preferir load_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óCausaCorrecció
load_file() augmentacions FileNotFoundErrorTràfica de fitxer incorrectaVerifica que la ruta existeix abans de trucar.
Text confús després de la càrregaEl 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 sortidaAlgunes característiques avançades de DOC encara no suportadesCompte 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ètodeDescripció
DocFileReaderLider de DOC complet amb capacitat d’edificació LDM.
DocFileReader.to_light_document()Convertir dades de DOC analitzades en un document LDM.
DocFileReaderCoreLector 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
DocumentFormatReaderInterfí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
 Català