Konwertery
Aspose.Words FOSS for Python używa specjalistycznych klas konwerterów do przekształcania wewnętrznego modelu dokumentu w formaty wyjściowe. ParagraphConverter obsługuje tekst i formatowanie, TableConverter obsługuje struktury tabel, a ListHandler zarządza formatowaniem list.
Konwerter akapitów
ParagraphConverter przekształca akapity dokumentu do docelowego formatu wyjściowego. Analizuje formatowanie akapitu, stylizację na poziomie run oraz zawartość inline.
| Metoda | Opis |
|---|
ParagraphConverter.get_paragraph_info() | Wyodrębnij informacje o formatowaniu z akapitu |
ParagraphConverter.get_run_formatting() | Pobierz szczegóły formatowania dla fragmentu tekstu |
ParagraphConverter.format_text() | Zastosuj formatowanie do treści tekstowej |
Konwerter tabel
TableConverter konwertuje tabele dokumentu do formatu docelowego (takiego jak tabele Markdown).
| Metoda | Opis |
|---|
TableConverter.convert() | Konwertuj element tabeli do formatu wyjściowego |
Obsługa listy
ListHandler zarządza stanem listy podczas konwersji dokumentu, śledząc zagnieżdżenie list, znaczniki i formatowanie.
| Metoda | Opis |
|---|
ListHandler.set_reader() | Ustaw czytnik dokumentu dla kontekstu listy |
ListHandler.reset() | Zresetuj stan śledzenia listy |
ListHandler.get_list_info() | Pobierz szczegóły elementu listy dla akapitu |
ListHandler.format_list_item() | Formatuj element listy z markerem i wcięciem |
ListHandler.break_list() | Zasygnalizuj koniec sekwencji listy |
Wskazówki i najlepsze praktyki
- Konwertery są używane wewnętrznie przez potok eksportu — większość programistów korzysta zamiast tego z
Document.save() ParagraphConverter.format_text() respektuje kontekst bloków kodu, aby uniknąć stosowania formatowania inline wewnątrz fragmentów koduListHandler utrzymuje stan pomiędzy kolejnymi akapitami listy — wywołaj reset() przy rozpoczynaniu nowej sekcji dokumentu
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|
| Niewyrównane kolumny tabeli | Tabela wejściowa ma scalone komórki | TableConverter obsługuje proste tabele; scalone komórki mogą powodować nieoczekiwany wynik |
| Uszkodzone numerowanie listy | Stan listy nie jest resetowany pomiędzy sekcjami | Wywołaj ListHandler.reset() na granicach sekcji |
Podsumowanie odniesienia API
| Klasa / Metoda | Opis |
|---|
ParagraphConverter.get_paragraph_info() | Wyodrębnij formatowanie akapitu |
ParagraphConverter.get_run_formatting() | Pobierz formatowanie na poziomie run |
ParagraphConverter.format_text() | Zastosuj formatowanie do tekstu |
TableConverter.convert() | Konwertuj tabelę do formatu wyjściowego |
ListHandler.set_reader() | Ustaw kontekst czytnika dokumentu |
ListHandler.get_list_info() | Pobierz szczegóły elementu listy |
ListHandler.format_list_item() | Formatuj element listy |