Parser

Parser

Interne API — Die Klassen auf dieser Seite werden intern von der Dokumentkonvertierungspipeline verwendet. Die meisten Entwickler interagieren stattdessen mit Document.save() und Document.get_text(). Siehe Core Management für die öffentliche API.

Aspose.Words FOSS for Python enthält spezialisierte Parser, die strukturierte Daten aus den internen DOCX-Strukturen extrahieren. Das NumberingParser verarbeitet Listennummerierungsdefinitionen, und StyleParser extrahiert Dokumentstile.


Nummerierungsparser

NumberingParser liest die Nummerierungsdefinitionen aus einem DOCX‑Paket und stellt sie über eine Abfrage‑API bereit. Verwenden Sie parse_numbering_part(), um das Nummerierungs‑XML zu laden, und fragen Sie dann Listeneigenschaften mit Hilfsmethoden ab.

MethodeBeschreibung
NumberingParser.parse_numbering_part()Parsen des DOCX-Nummerierungselements
NumberingParser.get_list_info()Informationen zu einer bestimmten Liste anhand der ID abrufen
NumberingParser.get_level_info()Details zum Level einer Liste bei gegebener Tiefe abrufen
NumberingParser.is_ordered_list()Prüfen, ob ein Listenniveau geordnet oder Aufzählungszeichen ist
NumberingParser.get_start_value()Startnummer für ein Listenniveau abrufen
NumberingParser.get_delimiter()Trennzeichenzeichenfolge für ein Listenniveau abrufen

Stil-Parser

StyleParser analysiert Stilnamen in strukturierte ParsedStyle‑Objekte. Es identifiziert Überschriften, Blockzitate, Codeblöcke und Listenabsätze aus DOCX‑Stilnamen.

MethodeBeschreibung
StyleParser.parse()Parsen Sie einen Stilnamen in ein ParsedStyle-Objekt
StyleParser.get_style_chain()Parsen Sie eine Kette von Stilnamen für vererbte Stile
StyleParser.is_setext_heading()Prüfen, ob ein Stil eine Setext‑Überschrift ist
StyleParser.extract_all_styles()Extrahieren Sie einzelne Stilnamen aus einer kommagetrennten Kette

Nummerierungsdatenmodell

Geparste Nummerierungsdaten werden in strukturierten Objekten gespeichert:

KlasseBeschreibung
NumberingInfoNummerierungsdefinition mit num_id, abstract_num_id und levels
NumberingLevelLevel-Definition mit den Eigenschaften format, start und text
ListInfoInformationen über eine bestimmte List-Instanz
ListLevelInfoLevel-spezifische Formatierungsdetails

Tipps und bewährte Verfahren

  • Rufen Sie parse_numbering_part() einmal nach dem Laden eines Dokuments auf, um alle Listendefinitionen zu füllen
  • Verwenden Sie is_ordered_list(), um nummerierte Listen von Aufzählungslisten zu unterscheiden
  • Verwenden Sie get_style_chain(), um geerbte Stilketten in einem einzigen Aufruf zu analysieren
  • Nummerierungs‑ und Stilparser werden intern von der Dokumentkonvertierungspipeline verwendet

Häufige Probleme

ProblemUrsacheLösung
Leere NummerierungsdefinitionenDokument enthält keine ListenÜberprüfen Sie den Rückgabewert von get_list_info(), bevor Sie auf Eigenschaften zugreifen
Fehlender StilStilname nicht erkanntVerwenden Sie parse() mit einem bekannten Stilnamen
Falsche ListenniveauFalscher EbenenparameterListenebenen sind nullbasiert

API-Referenzübersicht

Klasse / MethodeBeschreibung
NumberingParser.parse_numbering_part()DOCX-Nummerierungsdefinitionen parsen
NumberingParser.get_list_info()Listeninformationen nach ID abfragen
NumberingParser.is_ordered_list()Überprüfen, ob eine Listenebene geordnet ist
StyleParser.parse()Einen Stilnamen in strukturierte Informationen parsen
StyleParser.get_style_chain()Eine Kette von geerbten Stilnamen parsen
NumberingInfoDatenmodell für Nummerierungsdefinitionen
NumberingLevelLevel-Definition mit Format und Startwert
 Deutsch