Parsere
Parsere
Intern API — Klasserne på denne side bruges internt af dokumentkonverteringspipeline. De fleste udviklere interagerer i stedet med
Document.save()ogDocument.get_text(). Se Core Management for den offentlige API.
Aspose.Words FOSS for Python inkluderer specialiserede parser, der udtrækker strukturerede data fra DOCX-interne filer. NumberingParser håndterer liste nummereringsdefinitioner, og StyleParser udtrækker dokumentstilarter.
Nummereringsparser
NumberingParser læser nummereringsdefinitionerne fra en DOCX-pakke og eksponerer dem via en forespørgsels-API. Brug parse_numbering_part() til at indlæse nummererings-XML, og forespørg derefter listeegenskaber med hjælpefunktioner.
| Metode | Beskrivelse |
|---|---|
NumberingParser.parse_numbering_part() | Parse DOCX-nummereringselementet |
NumberingParser.get_list_info() | Hent information om en specifik liste ved ID |
NumberingParser.get_level_info() | Hent niveauoplysninger for en liste på en given dybde |
NumberingParser.is_ordered_list() | Kontroller om et liste‑niveau er ordnet eller punktformet |
NumberingParser.get_start_value() | Hent startnummeret for et liste‑niveau |
NumberingParser.get_delimiter() | Hent afgrænsningsstrengen for et liste‑niveau |
Stilparser
StyleParser parser stilnavne til strukturerede ParsedStyle-objekter. Den identificerer overskrifter, blokcitater, kodeblokke og listeafsnit fra DOCX-stilnavne.
| Metode | Beskrivelse |
|---|---|
StyleParser.parse() | Fortolk et stilnavn til et ParsedStyle-objekt |
StyleParser.get_style_chain() | Fortolk en kæde af stilnavne for arvede stilarter |
StyleParser.is_setext_heading() | Kontroller om en stil er en Setext-stiloverskrift |
StyleParser.extract_all_styles() | Udtræk individuelle stilnavne fra en kommasepareret kæde |
Nummereringsdatamodel
Den analyserede nummereringsdata gemmes i strukturerede objekter:
| Klasse | Beskrivelse |
|---|---|
NumberingInfo | Nummereringsdefinition med num_id, abstract_num_id og levels |
NumberingLevel | Niveaudefinition med format, start og text egenskaber |
ListInfo | Information om en specifik listeinstans |
ListLevelInfo | Niveau‑specifikke formateringsdetaljer |
Tips og bedste praksis
- Kald
parse_numbering_part()én gang efter indlæsning af et dokument for at udfylde alle liste-definitioner - Brug
is_ordered_list()til at skelne nummererede lister fra punktopstillinger - Brug
get_style_chain()til at parse arvede stilkæder i et enkelt kald - Nummerering og stilparsers bruges internt af dokumentkonverteringspipeline
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| Tomme nummereringsdefinitioner | Dokumentet har ingen lister | Kontroller get_list_info() returværdien før du får adgang til egenskaber |
| Manglende stil | Stilnavn ikke genkendt | Brug parse() med et kendt stilnavn |
| Forkert liste‑niveau | Forkert niveauparameter | Liste‑niveauer er nul‑indekseret |
API-referencens oversigt
| Klasse / Metode | Beskrivelse |
|---|---|
NumberingParser.parse_numbering_part() | Parse DOCX-nummereringsdefinitioner |
NumberingParser.get_list_info() | Forespørg listeinformation efter ID |
NumberingParser.is_ordered_list() | Kontroller om et listeniveau er ordnet |
StyleParser.parse() | Parse et stilnavn til struktureret information |
StyleParser.get_style_chain() | Parse en kæde af arvede stilnavne |
NumberingInfo | Nummereringsdefinitionsdatamodel |
NumberingLevel | Niveaudefinition med format og startværdi |