Trabajar con DOCX Reader

Trabajar con DOCX Reader

El DocumentReader El código de la clase es Open XML (.docxEl modelo de documento ligero (LDM) trata los parágrafos, las tablas, formas, imágenes y formatos, haciendo que el contenido esté disponible para manipulación o conversión.


Leer un archivo DOCX

La forma más sencilla es utilizar el Document El fabricante, que selecciona automáticamente el DocumentReader Para .docx Los archivos:

import aspose.words_foss as aw

doc = aw.Document("input.docx")
print(f"Sections: {len(doc.sections)}")
for para in doc.all_paragraphs:
    print(para.text)

Arquitectura de DocumentReader

DocumentReader Utilizan dos mezclas para dividir las responsabilidades:

ComponenteROLLO
DocumentReaderParser DOCX principal - lea partes XML del paquete OPC
LdmBuilderMixinConstrucción del modelo de documento de luz a partir de datos parsed
ShapeParserMixinPares dibujando y formando elementos incorporados en el documento

Todos los tres trabajan juntos internamente — usted interactúa con el resultado a través de la Document API.


Extracción de texto

Uso get_text() en un documento cargado para extraer texto plano sin salvar a un archivo:

import aspose.words_foss as aw

doc = aw.Document("contract.docx")
text = doc.get_text()
print(text[:500])

Trabajar con parágrafos y formatos

Acceso a las propiedades de nivel del párrafo a través del LDM:

import aspose.words_foss as aw

doc = aw.Document("styled.docx")
for para in doc.all_paragraphs:
    for run in para.runs:
        if run.font.bold:
            print(f"Bold: {run.text}")

Cada uno Run lleva propiedades de la letra (boldo, itálico, tamaño, color) que fueron parsed desde el DOCX XML.


Tratar formas y imágenes

El ShapeParserMixin extractos de elementos dibujantes durante el parsillo. formas aparecen en la LDM como ShapeNode Objetos dentro del contenido del párrafo:

import aspose.words_foss as aw

doc = aw.Document("with-images.docx")
for para in doc.all_paragraphs:
    for node in para.content_sequence:
        if hasattr(node, 'shape_type'):
            print(f"Shape: {node.shape_type}")

Consejos y mejores prácticas

  • Uso Document("file.docx") para flujos de trabajo estándar: gestiona la selección del lector, la validación del paquete y la construcción LDM automáticamente.
  • Para la entrada basada en el flujo (encarga web), pasa un objeto similar al archivo a la página de Document El constructor.
  • Para los archivos con tablas, acceda a ellos mediante doc.tables o doc.all_tables.
  • Para el procesamiento de batch, reutilizar el mismo proceso Python para evitar la repetición del sobrepasa.

Problemas comunes

ProblemasCausasFixado
No descargar archivos (excepción)Archivo ZIP corrompido o incompletoVerificar el archivo es válido .docx (Paceto OPC basado en ZIP)
Imágenes perdidas en la producciónPartes de imagen no incorporadas en el paqueteVerifique que el DOCX contiene imágenes incorporadas (no vinculadas)
El contenido en la producción se pierdePartes XML ausentes de la paqueteEl archivo puede ser truncado; reexportar desde la aplicación de fuente

FAQ

¿Qué es el Modelo de Documento Luz (LDM)?

El LDM es la representación interna compartida entre todos los lectores. se abstracta detalles específicos de formato (OPC XML, OLE2 binario) en una estructura común de secciones, parágrafos, rutas, tablas y formas.

¿Puede Docreader gestionar los archivos DOCM (macro-activados)?

Macro-enabled .docm Los archivos utilizan la misma estructura de OPC. El lector puede parse el contenido del documento, pero los macros no se conservan ni se ejecutan.

¿Cómo el lector trata los grandes documentos?

El lector procesa las partes XML secuencialmente. escalas de uso de la memoria con tamaño del documento. Para documentos muy grandes, considere secciones de procesamiento individualmente.


Sumación de referencia API

Clase / MétodoDescripción
DocumentReaderLea documentos DOCX y produce estructuras de datos abstractos
LdmBuilderMixinMixin proporciona métodos de construcción del modelo de documento ligero
ShapeParserMixinMixin proporciona métodos de dibujo/forma de parsillo
DocumentRepresenta un documento de Word (la raíz LDM)
create_reader(path)Fábrica que devuelve al lector correcto para una extensión de archivo

Ver también

 Español