Конвертеры
Aspose.Words FOSS for Python использует специализированные классы конвертеров для преобразования внутренней модели документа в форматы вывода. ParagraphConverter обрабатывает текст и форматирование, TableConverter обрабатывает структуры таблиц, а ListHandler управляет форматированием списков.
Конвертер абзацев
ParagraphConverter преобразует абзацы документа в целевой формат вывода. Он проверяет форматирование абзацев, стилизацию на уровне пробегов и встроенное содержимое.
| Метод | Описание |
|---|
ParagraphConverter.get_paragraph_info() | Извлечь информацию о форматировании из абзаца |
ParagraphConverter.get_run_formatting() | Получить детали форматирования для текстового фрагмента |
ParagraphConverter.format_text() | Применить форматирование к текстовому содержимому |
Конвертер таблиц
TableConverter преобразует таблицы документа в целевой формат (например, таблицы Markdown).
| Метод | Описание |
|---|
TableConverter.convert() | Преобразовать элемент таблицы в формат вывода |
Обработчик списка
ListHandler управляет состоянием списка во время преобразования документа, отслеживая вложенность списков, маркеры и форматирование.
| Метод | Описание |
|---|
ListHandler.set_reader() | Установить читатель документа для контекста списка |
ListHandler.reset() | Сбросить состояние отслеживания списка |
ListHandler.get_list_info() | Получить детали элемента списка для абзаца |
ListHandler.format_list_item() | Отформатировать элемент списка с маркером и отступом |
ListHandler.break_list() | Сигнализировать о конце последовательности списка |
Советы и лучшие практики
- Конвертеры используются внутри экспортного конвейера — большинство разработчиков взаимодействуют с
Document.save() вместо этого ParagraphConverter.format_text() учитывает контекст блока кода, чтобы избежать применения встроенного форматирования внутри фрагментов кодаListHandler сохраняет состояние между последовательными абзацами списка — вызывайте reset() при начале нового раздела документа
Общие проблемы
| Issue | Cause | Fix |
|---|
| Несоответствие столбцов таблицы | Входная таблица содержит объединённые ячейки | TableConverter обрабатывает простые таблицы; объединённые ячейки могут приводить к неожиданному выводу |
| Неправильная нумерация списка | Состояние списка не сбрасывается между разделами | Вызовите ListHandler.reset() на границах разделов |
Сводка справочного API
| Класс / Метод | Описание |
|---|
ParagraphConverter.get_paragraph_info() | Извлечь форматирование абзаца |
ParagraphConverter.get_run_formatting() | Получить форматирование уровня run |
ParagraphConverter.format_text() | Применить форматирование к тексту |
TableConverter.convert() | Преобразовать таблицу в формат вывода |
ListHandler.set_reader() | Установить контекст чтения документа |
ListHandler.get_list_info() | Получить детали элемента списка |
ListHandler.format_list_item() | Форматировать элемент списка |