저희는 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에서의 중요한 호환성 문제를 해결하고, delegate 형식 속성과 enum 인수와 관련된 오래된 결함을 수정했습니다.

이번 릴리스의 새로운 내용

  • [Feature] ConversionEvents 지원 추가: 시작, 진행 상황, 페이지별 및 문서별 완료, 실패 및 글꼴 대체를 관찰 (CONVERSIONPYTHON-93)
  • [Feature] 새로운 포맷 지원 추가 — XAR 아카이브, draw.io 다이어그램 및 Mermaid (.mmd) 다이어그램 (CONVERSIONPYTHON-94)
  • [Feature] CAD 변환을 모델 공간, 종이 공간 레이아웃 또는 둘 다로 제한하기 위해 CadLoadOptions.layout_scope 추가 (CONVERSIONPYTHON-95)
  • [Feature] Markdown으로 추출된 이미지가 저장되는 위치를 제어하기 위해 MarkdownOptions.image_saving_callback 추가 (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] 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에 변경 없이 존재합니다.

그 모듈에서 import했었다면, import 구문만 변경하세요 — 다른 것은 바꾸지 않아도 됩니다:

# 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 archive CompressionFileType.XAR Also XarDocumentInfo for inspection
draw.io diagram DiagramFileType.DRAWIO
Mermaid diagram 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 페이지에서 다운로드하십시오.

리소스