Parsers
Parsers
Wewnętrzny API — Klasy na tej stronie nie są częścią publicznego API i nie są eksportowane z poziomu najwyższego
aspose.words_fosspakietu. Są używane wewnętrznie przez potok konwersji dokumentów. Większość programistów powinna używaćLdmMarkdownWriter/LdmPdfWriterklas orazDocument.textwłaściwość zamiast tego. Zobacz Core Management dla publicznego API. Te klasy są szczegółami implementacji i mogą ulec zmianie bez powiadomienia.
Aspose.Words FOSS dla Python zawiera specjalistyczne parsery, które wyodrębniają ustrukturyzowane dane z wewnętrznych elementów DOCX. NumberingParser obsługuje definicje numeracji list, a StyleParser wyodrębnia style dokumentu.
Parser numeracji
NumberingParser odczytuje definicje numeracji z pakietu DOCX i udostępnia je za pośrednictwem zapytania API. Użyj parse_numbering_part(), aby załadować numerację XML, a następnie zapytaj o właściwości list przy użyciu metod pomocniczych.
| Metoda | Opis |
|---|---|
NumberingParser.parse_numbering_part() | Parsuj element numeracji DOCX |
NumberingParser.get_list_info() | Pobierz informacje o określonej liście według identyfikatora |
NumberingParser.get_level_info() | Pobierz szczegóły poziomu dla listy na określonej głębokości |
NumberingParser.is_ordered_list() | Sprawdź, czy poziom listy jest numerowany czy wypunktowany |
NumberingParser.get_start_value() | Pobierz początkowy numer dla poziomu listy |
NumberingParser.get_delimiter() | Pobierz ciąg separatora dla poziomu listy |
Parser stylów
StyleParser analizuje nazwy stylów do ustrukturyzowanych obiektów ParsedStyle. Rozpoznaje nagłówki, cytaty blokowe, bloki kodu oraz akapity list z nazw stylów DOCX.
| Metoda | Opis |
|---|---|
StyleParser.parse() | Przetwórz nazwę stylu na obiekt ParsedStyle |
StyleParser.get_style_chain() | Przetwórz łańcuch nazw stylów w celu uzyskania stylów dziedziczonych |
StyleParser.is_setext_heading() | Sprawdź, czy styl jest nagłówkiem w stylu Setext |
StyleParser.extract_all_styles() | Wyodrębnij poszczególne nazwy stylów z łańcucha rozdzielonego przecinkami |
Model danych numeracji
Przetworzone dane numeracji są przechowywane w strukturalnych obiektach:
| Klasa | Opis |
|---|---|
NumberingInfo | Definicja numeracji z num_id, abstract_num_id i levels |
NumberingLevel | Definicja poziomu z właściwościami format, start i text |
ListInfo | Informacje o konkretnym wystąpieniu listy |
ListLevelInfo | Szczegóły formatowania specyficzne dla poziomu |
Wskazówki i najlepsze praktyki
- Wywołaj
parse_numbering_part()raz po załadowaniu dokumentu, aby wypełnić wszystkie definicje list - Użyj
is_ordered_list(), aby odróżnić listy numerowane od list wypunktowanych - Użyj
get_style_chain(), aby przetworzyć odziedziczone łańcuchy stylów w jednym wywołaniu - Parsery numeracji i stylów są używane wewnętrznie przez potok konwersji dokumentów
Typowe problemy
| Problem | Przyczyna | Napraw |
|---|---|---|
| Puste definicje numeracji | Dokument nie zawiera list | Sprawdź wartość zwracaną get_list_info() przed dostępem do właściwości |
| Brakujący styl | Nazwa stylu nie rozpoznana | Użyj parse() z znaną nazwą stylu |
| Nieprawidłowy poziom listy | Nieprawidłowy parametr poziomu | Poziomy list są indeksowane od zera |
API Reference Podsumowanie
| Klasa / Metoda | Opis |
|---|---|
NumberingParser.parse_numbering_part() | Parsuj definicje numeracji DOCX |
NumberingParser.get_list_info() | Zapytaj o informacje o liście według ID |
NumberingParser.is_ordered_list() | Sprawdź, czy poziom listy jest uporządkowany |
StyleParser.parse() | Parsuj nazwę stylu do ustrukturyzowanych informacji |
StyleParser.get_style_chain() | Parsuj łańcuch dziedziczonych nazw stylów |
NumberingInfo | Model danych definicji numeracji |
NumberingLevel | Definicja poziomu z formatem i wartością początkową |