我们很高兴宣布 GroupDocs.Conversion for Python v26.9 已于 2026 年 9 月 正式发布。此版本将底层 GroupDocs.Conversion 引擎从 26.3 升级至 26.8,新增 ConversionEvents API 用于实时转换监控,加入对 XAR 压缩包、draw.io 与 Mermaid 图表的支持,并提供多项全新的加载和转换选项。同时解决了 Python 3.5–3.10 的关键兼容性问题,并修复了长期存在的委托类型属性和枚举参数相关缺陷。

本次发布的新功能

  • [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] 在 API 参考中新增开发者指南章节及 groupdocs.conversion.integration.* 页面(CONVERSIONPYTHON-104)
  • [Fix] 在 Python 3.5 – 3.7 环境下无法导入模块的问题(CONVERSIONPYTHON-91)
  • [Fix] 在 Python 3.8 – 3.10 版本传递 Enum 参数时的运行时错误(CONVERSIONPYTHON-92)
  • [Fix] *DocumentInfo 与 PossibleConversions 的索引器 item 为属性,不能被调用(CONVERSIONPYTHON-105)
  • [Fix] 委托类型属性无法从 Python 赋值(Object must implement IConvertible)的问题(CONVERSIONPYTHON-106)
  • [Fix] 委托类型属性在存根和文档字符串中标注了错误的类型(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 页面下载。

资源