Мы рады объявить о выпуске 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 и IConversionSettings
  • Converter(...) — четыре новых перегрузки конструктора, принимающие ConversionEvents
  • CadLoadOptions.layout_scope
  • EmailLoadOptions.page_layout_options
  • WebLoadOptions.margin_settings, .orientation_settings, .size_settings
  • MarkdownOptions.image_saving_callback
  • ImageConvertOptions.min_resolution, .cap_resolution_to_page_content
  • WordProcessingLoadOptions.auto_detect_rtl_direction
  • CompressionFileType.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.

Ресурсы