Trabajar con DOC Reader

Trabajar con DOC Reader

Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc Los archivos. el DocFileReader La clase parsa el formato binario OLE2 y produce un Modelo de Documento Luminoso (LDM) que puede ser manipulado o convertido en otros formatos.


Descargar un archivo DOC

Uso DocFileReader Para abrir a .doc El archivo se conecta a un disco y lo convierte en una Document:

import aspose.words_foss as aw

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

El Document Los constructores delegados a create_reader(),El que selecciona DocFileReader automaticamente, basado en la .doc La extensión.


Usar DocFileReaderCore de forma directa

Control de nivel inferior, instante DocFileReaderCore y llamar sus métodos de carga:

from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore

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

DocFileReaderCore Se ofrece tres métodos de entrada:

MetodologíaTipo de entradaUso de caso
load_file(filepath)Archivo Path StringLeer desde el disco
load_stream(stream)Objetos similares a archivosLeer desde upload o network stream
load_bytes(data)bytesLeer más sobre In-Memory Buffer

El modelo de documento de luz

Después de la carga, llame to_light_document() En el DocFileReader Para producir 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()

El CDC es la representación interna compartida entre todos los lectores (DocFileReader, DocumentReader, TextFileReaderUna vez que tenga un documento LDM, puede guardarlo en cualquier formato de salida apoyado.


El protocolo de DocumentFormatReader

Todos los lectores implementan el DocumentFormatReader Protocolo, que define la interfaz común: load_file(), load_stream(),y, load_bytes().El create_reader() La función de fábrica devolve al lector apropiado basado en la extensión del archivo:

from aspose.words_foss.reader_factory import create_reader

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

Consejos y mejores prácticas

  • Utilice el nivel de alta Document("file.doc") Constructor para la mayoría de los flujos de trabajo: gestiona automáticamente la selección del lector.
  • Uso DocFileReaderCore Sólo cuando necesitas acceso directo a la capa de parsillo binario.
  • Para los archivos recibidos como bytes (por ejemplo, desde las cargas de HTTP), preferir load_bytes() Evitar la publicación de archivos temporales.
  • El lector DOC soporta la misma fidelidad de vuelta que el lectora DOCX para texto, parágrafos y formatos básicos.

Problemas comunes

ProblemasCausasFixado
load_file() Aumentar FileNotFoundErrorPaseo de archivo incorrectoVerificar el camino existente antes de llamar
Texto de la carga después del cargamentoEl archivo no es un OLE2 binario válido.Confirmar que el archivo es auténtico .doc El formato, no un renombre .docx
Falta de formato en la producciónAlgunas funciones avanzadas de DOC aún no están apoyadasVerificar limitations.md Para las características no apoyadas

FAQ

¿Cuál es la diferencia entre DocFileReader y DocfileRaderCore?

DocFileReaderCore Gestión de la parsura binaria de bajo nivel del formato OLE2. DocFileReader extendrálo añadiendo el to_light_document() El método que produce un LDM completo Document adecuado para la conversión.

¿Puedo cargar un archivo DOC de una corriente?

Sí, usamos DocFileReaderCore.load_stream(stream) o pasar un objeto similar al archivo. Esto es útil para las aplicaciones web donde los archivos se cargan como corrientes.

¿El lector de DOC mantiene los archivos protegidos por contraseña?

contraseña protegida .doc Los archivos no están actualmente apoyados.El lector levantará una excepción si el archivo está cifrado.


Sumación de referencia API

Clase / MétodoDescripción
DocFileReaderLector DOC completo con capacidad de construcción LDM
DocFileReader.to_light_document()Convertir datos de DOC parsed en un documento LDM
DocFileReaderCoreEl lector de base para Word 97-2003 (.doc) archivos binarios
DocFileReaderCore.load_file(filepath)Cargar un archivo DOC desde una ruta
DocFileReaderCore.load_stream(stream)Cargar un archivo DOC de una corriente
DocFileReaderCore.load_bytes(data)Cargar un archivo DOC desde un buffer de bajetas
DocumentFormatReaderInterfaz de protocolo para todos los lectores de documentos
create_reader(path)Fábrica que devuelve al lector correcto para una extensión de archivo

Ver también

 Español