Rad s DOCX čitateljem
Rad s DOCX čitateljem
U skladu s člankom 1. DocumentReader klasom čita Office Open XML (.docxU tom slučaju, u skladu s člankom 73. stavku 1. točke (a) i točkom 2. stavka 3. točke odjeljka (b), se primjenjuje na:.
Čitanje DOCX datoteke
Najjednostavniji pristup je korištenje Document Konstruktor, koji automatski bira: DocumentReader za: .docx datoteke:
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)Arhitektura čitača dokumenata
DocumentReader koristi dva mixin za podjelu odgovornosti:
| Sastavnik | Uloga |
|---|---|
DocumentReader | Glavni DOCX parser čita XML dijelove iz OPC paketa |
LdmBuilderMixin | Izgradnja modela za svjetlosni dokument iz analiziranih podataka |
ShapeParserMixin | Proučavanje elemenata crtanja i oblikovanja ugrađenih u dokument |
Sve tri rade zajedno unutar vi interagirate s rezultatom kroz Document API.
Izvaditi tekst
Upotreba: get_text() na učitavan dokument za izvlačenje običnog teksta bez čuvanja u datoteku:
import aspose.words_foss as aw
doc = aw.Document("contract.docx")
text = doc.get_text()
print(text[:500])Rad s paragrafima i oblikovanjem
Pristup svojstvima na razini stavka putem LDM-a:
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}")Svaki od njih. Run nosi svojstva font (druga, italika, veličina, boja) koji su analizirani iz DOCX XML.
Upotreba oblika i slika
U skladu s člankom 1. ShapeParserMixin Oblike se pojavljuju u LDM-u kao: ShapeNode U članku 1. stavku 2.:
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}")Savjeti i najbolje prakse
- Upotreba:
Document("file.docx")za standardne tokove rada automatski obrađuje izbor čitatelja, validaciju paketa i izgradnju LDM-a. - Za ulazak na temelju toka (web uploadovi), proslijedite objekt sličan datoteki u
DocumentKonstruktor. - Za datoteke s tabelama, pristupite njima putem
doc.tablesili:doc.all_tables. - Za masovno obradu, ponovno upotrebljavanje istog Python procesa kako bi se izbjegli ponavljeni nadopterećenja uvoza.
Zajednički problemi
| Izdavanje | Uzrok | Popraviti |
|---|---|---|
| Neuplatiti datoteku (iznimka) | Pokvarena ili nepotpuna ZIP arhiva | Potvrditi da je datoteka valjana. .docx (ZIP-based OPC paket) |
| Izlazne slike nedostaju | Slika, dijelovi koji nisu ugrađeni u pakiranje | Provjerite da li DOCX sadrži ugrađene (ne povezane) slike. |
| Nepostojanje sadržaja u izdanju | Obavezni XML dijelovi koji nisu u paketu | U ovom slučaju, podnositelj zahtjeva može dati informacije o tome kako je dostavljena datoteka. |
FAQ
Što je model svjetlosnog dokumenta (LDM)?
LDM je unutarnja reprezentacija koja se deli s svim čitateljima. Abstrakcije su specifične za format (OPC XML, OLE2 binarni) u zajedničku strukturu odjeljaka, stavaka, trčanja, tabela i oblika.
Može li DocumentReader rukovati DOCM (makro-pomoćnim) datotekama?
Makro-pomoćna .docm Čitatelj može analizirati sadržaj dokumenta, ali makro se ne čuva niti izvršava.
Kako čitalac upravlja velikim dokumentima?
Čitač obrađuje XML dijelove slijedno. Upotreba memorije se mijenja s veličinom dokumenta. Za vrlo velike dokumente, razmotrite obradu odjeljaka pojedinačno.
Svrha referentnog API-a
| Klasa / metoda | Opisivanje |
|---|---|
DocumentReader | Čita DOCX dokumente i proizvodi apstraktne strukture podataka. |
LdmBuilderMixin | Mješavina koja pruža metode za izgradnju modela svjetlosnog dokumenta |
ShapeParserMixin | Mješavina koja pruža metode crtanja/razvrstavanja oblika |
Document | Predstavlja Word dokument (korijen LDM-a) |
create_reader(path) | Fabrika koja vraća ispravnu čitatelju za proširenje datoteke |