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:

SastavnikUloga
DocumentReaderGlavni DOCX parser čita XML dijelove iz OPC paketa
LdmBuilderMixinIzgradnja modela za svjetlosni dokument iz analiziranih podataka
ShapeParserMixinProuč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 Document Konstruktor.
  • Za datoteke s tabelama, pristupite njima putem doc.tables ili: doc.all_tables.
  • Za masovno obradu, ponovno upotrebljavanje istog Python procesa kako bi se izbjegli ponavljeni nadopterećenja uvoza.

Zajednički problemi

IzdavanjeUzrokPopraviti
Neuplatiti datoteku (iznimka)Pokvarena ili nepotpuna ZIP arhivaPotvrditi da je datoteka valjana. .docx (ZIP-based OPC paket)
Izlazne slike nedostajuSlika, dijelovi koji nisu ugrađeni u pakiranjeProvjerite da li DOCX sadrži ugrađene (ne povezane) slike.
Nepostojanje sadržaja u izdanjuObavezni XML dijelovi koji nisu u paketuU 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 / metodaOpisivanje
DocumentReaderČita DOCX dokumente i proizvodi apstraktne strukture podataka.
LdmBuilderMixinMješavina koja pruža metode za izgradnju modela svjetlosnog dokumenta
ShapeParserMixinMješavina koja pruža metode crtanja/razvrstavanja oblika
DocumentPredstavlja Word dokument (korijen LDM-a)
create_reader(path)Fabrika koja vraća ispravnu čitatelju za proširenje datoteke
 Hrvatski