Práce s čtečkou DOCX

Práce s čtečkou DOCX

Úřad pro bezpečnost a ochranu zdraví DocumentReader třída čte Office Open XML (.docx) a vytváří abstraktní datovou strukturu Light Document Model (LDM). Zpracovává odstavce, tabulky, tvary, obrázky a formátování, čímž zpřístupňuje obsah pro manipulaci nebo konverzi.


Čtení souboru DOCX

Nejprve se použije metoda: Document konstruktor, který automaticky vybírá: DocumentReader pro: .docx soubory:

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)

Architektura čtečky dokumentů

DocumentReader používá dva mixiny pro rozdělení odpovědnosti:

ČástkaÚloha:
DocumentReaderHlavní analyzátor DOCX čte části XML z balíčku OPC
LdmBuilderMixinVytvoří model dokumentu Light z analyzovaných dat.
ShapeParserMixinParses kreslení a tvarové prvky vložené do dokumentu

Všechny tři pracují společně interně. Interagujete s výsledkem prostřednictvím Document API.


Vytáhnout text

Použití: get_text() na načteném dokumentu pro extrahování prostého textu bez uložení do souboru:

import aspose.words_foss as aw

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

Práce s odstavci a formátem

Přístup k vlastnostem na úrovni odstavce prostřednictvím 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}")

Každá. Run nese vlastnosti písma (tvrdá, kurzivní, velikost, barva), které byly analyzovány z DOCX XML.


Jak se zacházet s tvary a obrazy?

Úřad pro bezpečnost a ochranu zdraví ShapeParserMixin V LDM se tvary zobrazují jako: ShapeNode Objekty v rámci obsahu odstavce:

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}")

Tipy a nejlepší postupy

  • Použití: Document("file.docx") pro standardní pracovní postupy automaticky vybírá čtečku, validaci balíčků a konstrukci LDM.
  • Pro vstup založený na proudu (nahrávky do webu) předat soubor podobný objektu k Document Konstruktor.
  • Pro soubory s tabulkami je přístup k nim možné prostřednictvím doc.tables nebo: doc.all_tables.
  • Pro dávkové zpracování opětovně použít stejný proces Python, aby se zabránilo opakovaným nákladům na dovoz.

Obvyklé problémy

Výše:Příčina:Opravy
Soubor není načten (výjimka)Zkorumpovaný nebo neúplný archiv zkratky (ZIP)Ověřit , zda je soubor platný . .docx (ZIP-based OPC package)
Chybí obrázky ve výstupuČásti obrazu, které nejsou vbavené do obaluZkontrolujte, zda DOCX obsahuje vložené (nepřidružené) obrázky.
Chybí obsah výstupuPožadované části XML, které nejsou v baleníSoubor může být zkrácen; opětovný export ze zdrojové aplikace.

FAQ

Co je to světlý dokumentový model (LDM)?

LDM je interní reprezentace sdílená mezi všemi čtenářy. Abstrakce od formátu specifické detaily (OPC XML, OLE2 binární) do společné struktury sekcí, odstavců, běží, tabulky a tvarů .

Dokáže DocumentReader zacházet s soubory DOCM (s podporou makro)?

Makro-pomocené .docm Soubory používají stejnou strukturu OPC. Čtenář může analyzovat obsah dokumentu, ale makro nejsou uchovávány ani prováděny.

Jak čtenář zachází s velkými dokumenty?

Čtenář zpracovává části XML postupně. Použití paměti se měří s velikostí dokumentu. U velmi velkých dokumentů zvažte zpracovávat sekce individuálně.


Souhrnná referenční informace API

Třída / metodaPopis:
DocumentReaderČte DOCX dokumenty a vytváří abstraktní datové struktury.
LdmBuilderMixinMetoda konstrukce modelu světelného dokumentu, která poskytuje směs
ShapeParserMixinMíchaně poskytující metody kreslení/rozpracování tvarů
DocumentZobrazuje dokument Word (kmen LDM)
create_reader(path)Závod, který vrací správný čteč pro rozšíření souboru
 Čeština