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:
| Bestanddel | Udøvelse af en rolle |
|---|---|
DocumentReader | Main DOCX parser læser XML-dele fra OPC-pakken |
LdmBuilderMixin | Opbygger Light-dokumentmodellen fra analyserede data |
ShapeParserMixin | Parser 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
DocumentKonstruktor. - Tilføj filer med tabeller via
doc.tableseller en andendoc.all_tables. - For batchbehandling genbruges den samme Python-proces for at undgå gentagne importoverhead.
Almindelige problemer
| Udgave: | Årsagen til dette | Forklaret |
|---|---|---|
| Fil ikke indlæses (undtagelse) | Korrupt eller ufuldstændig ZIP-arkiv | Verificer, at filen er gyldig. .docx (ZIP-baseret OPC-pakke) |
| Manglende billeder i output | Billeddele, der ikke er indlejret i emballagen | Kontrollér, at DOCX-dokumentet indeholder indlejrede (ikke linkede) billeder. |
| Manglende indhold i output | Krav til XML-dele, der ikke er i pakken | Filen 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/metode | Beskrivelse: |
|---|---|
DocumentReader | Læser DOCX-dokumenter og producerer abstrakte datastrukturer |
LdmBuilderMixin | Miskning til fremstilling af Light Document Model konstruktionsmetoder |
ShapeParserMixin | Blanding, der giver tegnings-/formparseringsmetoder |
Document | Repræsenter et Word-dokument (LDM-roden) |
create_reader(path) | Fabrik, der returnerer den korrekte læser for en filudvidelse |