Práca s čítačom DOCX
Práca s čítačom DOCX
Úrad pre bezpečnosť a ochranu zdravia DocumentReader trieda číta Office Open XML (.docx) súbory a vytvára abstraktnú štruktúru údajov model svetlého dokumentu (LDM). spracováva odseky, tabuľky, tvary, obrázky a formátovanie, čím sa obsah sprístupňuje na manipuláciu alebo konverziu.
Čítanie súboru DOCX
Najjednoduchším prístupom je použitie Document Konstruktor, ktorý automaticky vyberie: DocumentReader pre: .docx súbory:
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)Architektúra čítačky dokumentov
DocumentReader používa dve mixiny na rozdelenie zodpovednosti:
| Komponenta | Úloha: |
|---|---|
DocumentReader | Hlavný analyzátor DOCX číta časti XML z balíka OPC |
LdmBuilderMixin | Vytvára model dokumentu Light z analyzovaných údajov |
ShapeParserMixin | Parses kreslené a tvarové prvky vložené do dokumentu |
Všetky tri sú v rámci interného partnerstva s výsledkom komunikujete prostredníctvom systému. Document API.
Vytlačenie textu
Použitie: get_text() na načítaný dokument pre extrakciu jednoduchého textu bez uloženia do súboru:
import aspose.words_foss as aw
doc = aw.Document("contract.docx")
text = doc.get_text()
print(text[:500])Práca s odsekmi a formátovaním
Prístup k vlastnostiam na úrovni odseku prostredníctvom 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á z nich. Run nesie vlastnosti písma (drsné, kurzivité, veľkosť, farba), ktoré boli analyzované z DOCX XML.
Používanie tvarov a obrazov
Úrad pre bezpečnosť a ochranu zdravia ShapeParserMixin Objekty sa zobrazujú v LDM ako: ShapeNode predmety v rámci obsahu odseku:
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 najlepšie postupy
- Použitie:
Document("file.docx")pre štandardné pracovné postupy automaticky spracováva výber čítača, validáciu balíka a konštrukciu LDM. - Pre vstup založený na toku (nahrávanie do webu) prejdite objekt podobný súboru k
DocumentKonštruktor. - Pre súbory s tabuľkami, prístup k nim prostredníctvom:
doc.tablesalebo:doc.all_tables. - Pre dávkové spracovanie opätovne použite rovnaký proces Python, aby sa predišlo opakovaným nákladom na dovoz.
Spoločné problémy
| Výstava | Príčina: | Oprava |
|---|---|---|
| Údaje nie sú načítané (výjimka) | Zlomený alebo neúplný archív zóny (ZIP) | Overte , či je súbor platný . .docx (ZIP-based OPC package) |
| Chýbajúce obrázky v výstupe | Časti obrazu, ktoré nie sú vložené do balenia | Skontrolujte, či DOCX obsahuje vložené (neviazané) obrázky. |
| Chýbajúci obsah vo výstupe | Požiadavky na časti XML, ktoré nie sú v balení | Súbor môže byť skrátený; opätovný export z pôvodnej aplikácie. |
FAQ
Čo je svetelný dokumentový model (LDM)?
LDM je vnútorná reprezentácia zdieľaná všetkými čitateľmi. Abstrakcie sú formátové detaily (OPC XML, binárny OLE2) do spoločnej štruktúry sekcií, odsekov, prebiehajúcich funkcií a tvarov.
Dokáže DocumentReader spracovať súbory s možnosťou makro?
Makro-povoľné .docm Súbory používajú rovnakú štruktúru OPC. Čitateľ môže analyzovať obsah dokumentu, ale makry nie sú uchovávané ani vykonávané.
Ako čitateľ zvládne veľké dokumenty?
Čítač spracováva časti XML postupne. Použitie pamäte sa škáli s veľkosťou dokumentu. Pre veľmi veľké dokumenty zvážte spracovanie sekcií individuálne.
Zhrnutie referenčného API
| Trieda / metóda | Opis: |
|---|---|
DocumentReader | Číta DOCX dokumenty a vytvára abstraktné štruktúry údajov |
LdmBuilderMixin | Metódy konštrukcie modelu svetelného dokumentu, ktorý poskytuje zmes |
ShapeParserMixin | Zmes poskytujúca metódy kreslenia/rozčítania tvarov |
Document | Zobrazuje dokument Word (kôrok LDM) |
create_reader(path) | Vytvorenie, ktoré vráti správny čítač pre rozšírenie súboru |