Arbejde med DOCX Reader

Arbejde med DOCX Reader

Den Europæiske Union DocumentReader klassen læser Office Open XML (.docx) filer og producerer en abstrakt datastruktur Light Document Model (LDM). Den håndterer afsnit, tabeller, former, billeder og formatering, hvilket gør indholdet tilgængeligt til manipulation eller konvertering.


Læse en DOCX-fil

Den enkleste metode er at anvende den Document konstruktor, som automatisk vælger: DocumentReader for: .docx filerne:

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)

Arkitektur for dokumentlæser

DocumentReader bruger to blandinger til at opdele ansvar:

BestanddelUdøvelse af en rolle
DocumentReaderMain DOCX parser læser XML-dele fra OPC-pakken
LdmBuilderMixinOpbygger Light-dokumentmodellen fra analyserede data
ShapeParserMixinParser tegningselementer og formelementer, der er indlejret i dokumentet

Alle tre arbejder sammen internt du interagerer med resultatet gennem den Document API.


Tekstudtrækning

Anvendelse: get_text() på et indlæst dokument til at udtrække almindelig tekst uden at gemme den i en fil:

import aspose.words_foss as aw

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

Arbejde med afsnit og formatering

Tilgang til egenskaber på afsnitniveau via 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}")

Hver af dem Run bærer fontegenskaber (fuldt, kursiv, størrelse, farve), der er blevet analyseret fra DOCX XML.


Hvordan man håndterer figurer og billeder

Den Europæiske Union ShapeParserMixin udtræk tegning elementer under parsing. Former vises i LDM som ShapeNode genstande inden for afsnit:

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

Tips og bedste praksis

  • Anvendelse: Document("file.docx") for standardarbejdsforløb det håndterer automatisk valg af læser, validering af pakker og LDM-konstruktion.
  • For stream-baseret input (weboptagelser) skal et fillignende objekt sendes til Document Konstruktor.
  • Tilføj filer med tabeller via doc.tables eller en anden doc.all_tables.
  • For batchbehandling genbruges den samme Python-proces for at undgå gentagne importoverhead.

Almindelige problemer

Udgave:Årsagen til detteForklaret
Fil ikke indlæses (undtagelse)Korrupt eller ufuldstændig ZIP-arkivVerificer, at filen er gyldig. .docx (ZIP-baseret OPC-pakke)
Manglende billeder i outputBilleddele, der ikke er indlejret i emballagenKontrollér, at DOCX-dokumentet indeholder indlejrede (ikke linkede) billeder.
Manglende indhold i outputKrav til XML-dele, der ikke er i pakkenFilen kan trunceres; reeksport fra kildetilbuddet

FAQ

Hvad er Light Document Model (LDM)?

LDM er den interne repræsentation, der deles på tværs af alle læserne. Den abstraherer format-specifikke detaljer (OPC XML, OLE2-binær) til en fælles struktur af sektioner, afsnit, løber, tabeller og former.

Kan DocumentReader håndtere DOCM-filer (makroaktiverede)?

Makroaktiveret .docm Læseren kan analysere dokumentets indhold, men makroer bevares ikke eller udføres.

Hvordan håndterer læseren store dokumenter?

Læseren behandler XML-delene sekventielt. Hukommelsesforbrug skalerer med dokumentstørrelse. For meget store dokumenter overveje at behandle afsnit individuelt .


API-referenceoversigt

Klasse/metodeBeskrivelse:
DocumentReaderLæser DOCX-dokumenter og producerer abstrakte datastrukturer
LdmBuilderMixinMiskning til fremstilling af Light Document Model konstruktionsmetoder
ShapeParserMixinBlanding, der giver tegnings-/formparseringsmetoder
DocumentRepræsenter et Word-dokument (LDM-roden)
create_reader(path)Fabrik, der returnerer den korrekte læser for en filudvidelse
 Dansk