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: |
|---|---|
DocumentReader | Hlavní analyzátor DOCX čte části XML z balíčku OPC |
LdmBuilderMixin | Vytvoří model dokumentu Light z analyzovaných dat. |
ShapeParserMixin | Parses 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
DocumentKonstruktor. - Pro soubory s tabulkami je přístup k nim možné prostřednictvím
doc.tablesnebo: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 obalu | Zkontrolujte, zda DOCX obsahuje vložené (nepřidružené) obrázky. |
| Chybí obsah výstupu | Pož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 / metoda | Popis: |
|---|---|
DocumentReader | Čte DOCX dokumenty a vytváří abstraktní datové struktury. |
LdmBuilderMixin | Metoda konstrukce modelu světelného dokumentu, která poskytuje směs |
ShapeParserMixin | Míchaně poskytující metody kreslení/rozpracování tvarů |
Document | Zobrazuje dokument Word (kmen LDM) |
create_reader(path) | Závod, který vrací správný čteč pro rozšíření souboru |