我们很高兴宣布 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_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 页面下载。