GroupDocs.Conversion for Python via .NET 26.3 Release Notes
This release brings per-page conversion, in-memory stream output, Python 3.14 support, AI agent integration, improved format metadata, and multiple bug fixes.
Full List of Changes in This Release
| Key | Category | Summary |
|---|---|---|
| CONVERSIONPYTHON‑65 | Feature | Per-page conversion via convert_by_page(output_dir, convert_options) |
| CONVERSIONPYTHON‑66 | Feature | In-memory conversion via convert_to_stream(convert_options) |
| CONVERSIONPYTHON‑62 | Feature | Python 3.14 support |
| CONVERSIONPYTHON‑64 | Feature | Ship AGENTS.md inside package for AI Agent integration |
| CONVERSIONPYTHON‑67 | Enhancement | Format objects expose .extension, .file_format, .description properties |
| CONVERSIONPYTHON‑68 | Enhancement | Explicit macOS classifier in PyPI metadata |
Major Features
Per-Page Conversion — convert_by_page
The Converter.convert_by_page(output_dir, convert_options) method is now fully functional. It splits a multi-page document into individual output files — one per page — saved to the specified directory. Page files are named page_1.ext, page_2.ext, and so on.
This was previously declared in the API but raised NotImplementedError. It is now operational for all ConvertOptions classes that support page-based output, including ImageConvertOptions, PdfConvertOptions, WordProcessingConvertOptions, PresentationConvertOptions, and others.
import os
from groupdocs.conversion import Converter
from groupdocs.conversion.filetypes import ImageFileType
from groupdocs.conversion.options.convert import ImageConvertOptions
output_dir = "./converted-pages"
os.makedirs(output_dir, exist_ok=True)
with Converter("./presentation.pptx") as converter:
options = ImageConvertOptions()
options.format = ImageFileType.PNG
converter.convert_by_page(output_dir, options)
# produces: page_1.png, page_2.png, ...
In-Memory Conversion — convert_to_stream
The Converter.convert_to_stream(convert_options) method now returns the converted document as a Python bytes object, enabling in-memory conversion pipelines without writing to disk. This is useful for cloud functions, web applications, and streaming architectures where filesystem access is limited or undesirable.
from groupdocs.conversion import Converter
from groupdocs.conversion.options.convert import PdfConvertOptions
with Converter("./report.docx") as converter:
pdf_bytes = converter.convert_to_stream(PdfConvertOptions())
# pdf_bytes is a bytes object containing the converted PDF
print(f"Converted PDF size: {len(pdf_bytes)} bytes")
Python 3.14 Support
The supported Python version range is extended from 3.5–3.13 (25.12) to 3.5–3.14. The Requires-Python metadata now reads >=3.5,<3.15, and the PyPI page explicitly lists classifiers for Python 3.8 through 3.14.
AGENTS.md — AI Agent and LLM Integration
The groupdocs-conversion-net pip package now ships an AGENTS.md file at groupdocs/conversion/AGENTS.md inside the wheel. AI coding assistants that scan installed packages — such as Claude Code, Cursor, and GitHub Copilot — can automatically discover the API surface, usage patterns, import paths, and troubleshooting tips without manual guidance.
pip show -f groupdocs-conversion-net | grep AGENTS
See the Agents and LLM Integration documentation page for MCP server setup, machine-readable documentation URLs, and example pipelines for RAG and document preprocessing.
Enhancements
Format Object Properties
Format objects returned by get_possible_conversions() and get_all_possible_conversions() now expose human-readable properties:
| Property | Type | Example |
|---|---|---|
.extension | str | 'pdf' |
.file_format | str | 'Portable Document Format' |
.description | str | 'Portable Document Format File (pdf)' |
Previously, these objects rendered as opaque <NetObject handle=NNN> when printed. They now display as <NetObject pdf> in repr() and provide clean string values through the properties listed above.
from groupdocs.conversion import Converter
with Converter("./report.docx") as converter:
conversions = converter.get_possible_conversions()
for c in conversions.all:
if c.is_primary:
print(f"{c.format.extension}: {c.format.file_format}")
# pdf: Portable Document Format
# docx: Microsoft Word Open XML Document
Explicit macOS Classifier
The PyPI metadata now includes the Operating System :: MacOS classifier alongside the existing Windows and Linux classifiers. This improves discoverability for users filtering packages by platform on PyPI.
API Changes
New Functional Methods
These methods were declared in 25.12 but raised NotImplementedError. They are now operational:
| Method | Returns | Description |
|---|---|---|
Converter.convert_by_page(output_dir, convert_options) | None | Splits a document into one file per page in the given directory |
Converter.convert_to_stream(convert_options) | bytes | Converts the document and returns the result as in-memory bytes |
Methods Not Yet Available
The following methods exist as attribute proxies on the Converter class but are not yet functional in the Python binding. Calling them will raise an exception:
| Method | Status | Workaround |
|---|---|---|
convert_by_page(file_path, page_number, convert_options) | TypeError — 3-arg overload not exposed | Use convert_options.page_number + convert_options.pages_count = 1 with convert(file_path, options) |
convert_by_page(stream, page_number, convert_options) | TypeError — 3-arg overload not exposed | Convert to file, then read into io.BytesIO |
convert_multiple(folder_path, convert_options) | MissingMethodException | Use convert(file_path, options) for a consolidated single-file output from archives |
Platform Wheels
| Platform | Wheel suffix | New in 26.3? |
|---|---|---|
| Windows 64-bit | py3-none-win_amd64.whl | |
| Windows 32-bit | py3-none-win32.whl | |
| Linux x64 (glibc) | py3-none-manylinux1_x86_64.whl | |
| macOS Apple Silicon | py3-none-macosx_11_0_arm64.whl | |
| macOS Intel | py3-none-macosx_10_14_x86_64.whl |
Requirements
- Python: 3.5 through 3.14
- Platforms: Windows (x64, x86), Linux (x64 glibc), macOS (Intel and Apple Silicon)
- Optional system dependencies (Linux/macOS):
libgdiplus,libfontconfig1,libicu-dev. See System Requirements.
Additional Resources
Feedback
If you have any questions, issues, or suggestions, please reach out through the Free Support Forum.