Ми раді оголосити про випуск 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 для спостереження за запуском, прогресом, завершенням per‑page та per‑document, помилками та заміною шрифтів (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 анотовані неправильним типом у заглушках та docstring‑ах (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 дозволяє спостерігати за процесом конвертації в режимі реального часу — прогрес, завершення per‑page та per‑document, помилки та заміну шрифтів. Прикріплюйте звичайні функції 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.

Ресурси