Мы рады объявить о выпуске GroupDocs.Conversion for Python v26.9, доступном с сентября 2026 года. Этот релиз обновляет движок GroupDocs.Conversion с версии 26.3 до 26.8, вводит API ConversionEvents для мониторинга конвертации в реальном времени, добавляет поддержку архивов XAR, draw.io и диаграмм Mermaid, а также включает несколько новых параметров загрузки и конвертации. Кроме того, решены критические проблемы совместимости с Python 3.5–3.10 и исправлены давние дефекты, влияющие на свойства типа delegate и аргументы enum.
Что нового в этом выпуске
- [Feature] Добавить поддержку
ConversionEventsдля наблюдения за запуском, прогрессом, завершением по странице и документу, ошибками и заменой шрифтов (CONVERSIONPYTHON-93) - [Feature] Добавить поддержку новых форматов — архивы XAR, диаграммы draw.io и Mermaid (
.mmd) (CONVERSIONPYTHON-94) - [Feature] Добавить
CadLoadOptions.layout_scopeдля ограничения конвертации CAD пространством модели, макетами листов или обоими (CONVERSIONPYTHON-95) - [Feature] Добавить
MarkdownOptions.image_saving_callbackдля управления местом сохранения изображений, извлекаемых в Markdown (CONVERSIONPYTHON-96) - [Feature] Добавить
EmailLoadOptions.page_layout_optionsиWebLoadOptions.margin_settings/orientation_settings/size_settings(CONVERSIONPYTHON-97) - [Feature] Добавить
ImageConvertOptions.min_resolutionиcap_resolution_to_page_content(CONVERSIONPYTHON-98) - [Feature] Добавить
WordProcessingLoadOptions.auto_detect_rtl_direction(CONVERSIONPYTHON-99) - [Feature] Добавить
MissingDependencyExceptionдля более понятного сообщения об ошибке при отсутствии необязательной зависимости движка (CONVERSIONPYTHON-100) - [Enhancement] Обновить движок GroupDocs.Conversion с 26.3 до 26.8 (CONVERSIONPYTHON-101)
- [Enhancement] Удалить дублирующий модуль
groupdocs.conversion.file_types— использоватьgroupdocs.conversion.filetypes(CONVERSIONPYTHON-102) - [Enhancement] Переименовать
PdfOptions.remove_pdf_acomplianceвremove_pdf_a_compliance(CONVERSIONPYTHON-103) - [Enhancement] Добавить раздел «Developer Guide» и страницы
groupdocs.conversion.integration.*в справочник API (CONVERSIONPYTHON-104) - [Fix] Невозможность импортировать модуль при использовании Python 3.5 – 3.7 (CONVERSIONPYTHON-91)
- [Fix] Ошибка выполнения при передаче аргумента Enum в версиях Python 3.8 – 3.10 (CONVERSIONPYTHON-92)
- [Fix] Индексатор
itemу*DocumentInfoиPossibleConversionsявляется свойством и не может быть вызван (CONVERSIONPYTHON-105) - [Fix] Свойства типа delegate нельзя присвоить из Python (
Object must implement IConvertible) (CONVERSIONPYTHON-106) - [Fix] Свойства типа delegate аннотированы неверным типом в заглушках и строках документации (CONVERSIONPYTHON-107)
Изменения публичного API
Новые классы
| Класс | Модуль |
|---|---|
ConversionEvents |
groupdocs.conversion |
FontSubstitutionContext |
groupdocs.conversion.contracts |
XarDocumentInfo |
groupdocs.conversion.contracts |
MissingDependencyException |
groupdocs.conversion.exceptions |
CadLayoutScope |
groupdocs.conversion.options.load |
IPageLayoutOptions |
groupdocs.conversion.options.load |
MarkdownImageSavingArgs, IMarkdownImageSavingCallback |
groupdocs.conversion.options.convert |
IConversionHandlersStage, IConversionByPageHandlersStage |
groupdocs.conversion.fluent |
Новые члены существующих классов
FluentConverter.with_events(...), а также аналогичный метод вIConversionFromиIConversionSettingsConverter(...)— четыре новых перегрузки конструктора, принимающиеConversionEventsCadLoadOptions.layout_scopeEmailLoadOptions.page_layout_optionsWebLoadOptions.margin_settings,.orientation_settings,.size_settingsMarkdownOptions.image_saving_callbackImageConvertOptions.min_resolution,.cap_resolution_to_page_contentWordProcessingLoadOptions.auto_detect_rtl_directionCompressionFileType.XAR,DiagramFileType.DRAWIO,DiagramFileType.MMD
Удалено — groupdocs.conversion.file_types
Модуль groupdocs.conversion.file_types и его 23 класса удалены. Сами классы не удалены — каждый из них по‑прежнему существует без изменений в groupdocs.conversion.filetypes.
Если вы импортировали их оттуда, измените импорт — больше ничего менять не нужно:
# before
from groupdocs.conversion.file_types import WordProcessingFileType
# after
from groupdocs.conversion.filetypes import WordProcessingFileType
Переименовано — PdfOptions.remove_pdf_acompliance
# before
options.remove_pdf_acompliance = True
# after
options.remove_pdf_a_compliance = True
Новые возможности
События конвертации
ConversionEvents позволяет наблюдать за процессом конвертации в реальном времени — прогресс, завершение по странице и документу, ошибки и замену шрифтов. Привяжите обычные функции Python:
from groupdocs.conversion import ConversionEvents, Converter, ConverterSettings
from groupdocs.conversion.options.convert import PdfConvertOptions
events = ConversionEvents()
events.on_conversion_started = lambda: print("started")
events.on_conversion_progress = lambda percent: print(f"{percent}%")
events.on_document_converted = lambda ctx: print("document done")
events.on_font_substituted = lambda ctx: print(
f"{ctx.original_font_name} -> {ctx.substitute_font_name} ({ctx.reason})")
events.on_conversion_completed = lambda: print("completed")
with Converter("business-plan.docx", ConverterSettings(), events) as converter:
converter.convert("business-plan.pdf", PdfConvertOptions())
Обратите внимание, что конструктор принимает (path, settings, events) — перегрузки (path, events) нет, поэтому передавайте ConverterSettings(), даже если вам ничего настраивать не требуется.
Доступные хуки: on_conversion_started, on_conversion_progress, on_conversion_completed, on_document_converted, on_document_failed, on_page_converted, on_page_failed, on_compression_completed и on_font_substituted.
Новые форматы
| Формат | Константа типа файла | Примечания |
|---|---|---|
| XAR‑архив | CompressionFileType.XAR |
Также XarDocumentInfo для инспекции |
| Диаграмма draw.io | DiagramFileType.DRAWIO |
|
| Диаграмма Mermaid | DiagramFileType.MMD |
Область макета CAD
from groupdocs.conversion.options.load import CadLayoutScope, CadLoadOptions
load_options = CadLoadOptions()
load_options.layout_scope = CadLayoutScope.MODEL # MODEL | LAYOUTS | BOTH
BOTH является значением по умолчанию и не ограничивает конвертацию.
Пример кода
from groupdocs.conversion import ConversionEvents, Converter, ConverterSettings
from groupdocs.conversion.options.convert import PdfConvertOptions
events = ConversionEvents()
events.on_conversion_started = lambda: print("started")
events.on_conversion_progress = lambda percent: print(f"{percent}%")
events.on_document_converted = lambda ctx: print("document done")
events.on_font_substituted = lambda ctx: print(
f"{ctx.original_font_name} -> {ctx.substitute_font_name} ({ctx.reason})")
events.on_conversion_completed = lambda: print("completed")
with Converter("business-plan.docx", ConverterSettings(), events) as converter:
converter.convert("business-plan.pdf", PdfConvertOptions())
Как получить обновление
PyPI
pip install groupdocs-conversion-net==26.9.0
Прямое скачивание
Скачать можно со страницы GroupDocs.Conversion for Python via .NET 26.9.