ما خوشحالیم که انتشار GroupDocs.Conversion برای Python نسخه 26.9 را اعلام می‌کنیم که از سپتامبر 2026 در دسترس است. این انتشار موتور زیرساختی GroupDocs.Conversion را از 26.3 به 26.8 ارتقا می‌دهد، API جدید ConversionEvents را برای نظارت زمان‑واقعی بر تبدیل‌ها معرفی می‌کند، پشتیبانی از آرشیوهای XAR، نمودارهای draw.io و Mermaid را اضافه می‌کند و چندین گزینه جدید بارگذاری و تبدیل را شامل می‌شود. همچنین مشکلات سازگاری بحرانی در Python 3.5–3.10 را برطرف کرده و نقص‌های طولانی‌مدت مربوط به ویژگی‌های نوع‑نماینده (delegate) و آرگومان‌های enum را رفع می‌کند.

What’s new in this release

  • [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] افزودن بخش «راهنمای توسعه‌دهنده» و صفحات 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] ویژگی‌های نوع‑نماینده در استاب‌ها و 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 و ۲۳ کلاس مربوط به آن حذف شده‌اند. کلاس‌ها خود حذف نشده‌اند — هر یک از آن‌ها همچنان به‌صورت بدون تغییر در 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) تعریف شده است — هیچ overloadی به شکل (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 دانلود کنید.

منابع