Skip to main content

banner

PyPI PyPI - Python Version

Product Page | Docs | Demos | API Reference | Blog | Free Support | Temporary License

GroupDocs.Conversion for Python via .NET is a document conversion API that lets you easily convert the most popular file formats, including DOCX, XLSX, PPTX, PDF, CAD drawings, and many more. It preserves layout and formatting while offering customization options for each format.

Get Started

pip install groupdocs-conversion-net
from groupdocs.conversion import Converter
from groupdocs.conversion.options.convert import PdfConvertOptions

with Converter("document.docx") as converter:
    converter.convert("output.pdf", PdfConvertOptions())

How It Works

The package is a self-contained Python wheel (~200 MB) that includes everything needed to process documents. No external software installation is required - just pip install and start converting. The wheel works across Python 3.5 - 3.14 on Windows, Linux, and macOS (Intel + Apple Silicon).

Features

  • Wide Format Support: Over 10,000 conversion pairs across Microsoft Office, PDF, HTML, images, CAD, and more.
  • Flexible Options: Convert entire documents, specific pages, page ranges, or files within archives.
  • Format Detection: Automatically detects input file format.
  • No External Dependencies: No Microsoft Office or other software required.
  • Cross-Platform: Windows x64/x86, Linux x64, macOS x64/ARM64.

Supported File Formats

For a complete list, see supported formats.

  • Microsoft Office (Word, Excel, PowerPoint)
  • PDF (Standard PDFs, PDF/A)
  • OpenDocument (ODT, ODS, ODP)
  • Images (JPEG, PNG, TIFF, BMP, SVG, WebP)
  • Email (EML, MSG)
  • eBook (EPUB, MOBI)
  • Text/Markup (TXT, MD, HTML, MHTML)
  • AutoCAD (DWG, DXF)

Examples

Convert DOCX to PDF

from groupdocs.conversion import Converter
from groupdocs.conversion.options.convert import PdfConvertOptions

with Converter("./business-plan.docx") as converter:
    converter.convert("./business-plan.pdf", PdfConvertOptions())

Convert with Advanced Options

from groupdocs.conversion import Converter
from groupdocs.conversion.options.convert import PdfConvertOptions
from groupdocs.conversion.options.load import WordProcessingLoadOptions

load_options = WordProcessingLoadOptions()
load_options.password = "12345"

with Converter("./protected.docx", load_options) as converter:
    options = PdfConvertOptions()
    options.dpi = 300
    options.page_number = 1
    options.pages_count = 2
    converter.convert("./output.pdf", options)

Get Document Info

from groupdocs.conversion import Converter

with Converter("./document.pdf") as converter:
    info = converter.get_document_info()
    print(f"Pages: {info.pages_count}")

Convert from Stream / BytesIO

import io
from groupdocs.conversion import Converter
from groupdocs.conversion.options.convert import PdfConvertOptions

with open("document.docx", "rb") as stream:
    with Converter(stream) as converter:
        converter.convert("output.pdf", PdfConvertOptions())

buf = io.BytesIO(downloaded_bytes)
with Converter(buf) as converter:
    converter.convert("output.pdf", PdfConvertOptions())

Command Line

Installing the wheel also puts groupdocs-conversion on PATH. Target format is inferred from the output extension; pass --format to override.

# Convert (extension picks the format)
groupdocs-conversion convert input.docx output.pdf
groupdocs-conversion convert input.docx page1.jpg --page 1 --count 1
groupdocs-conversion convert protected.docx out.pdf --password "secret"

# Inspect
groupdocs-conversion info input.pdf
groupdocs-conversion list-formats input.docx       # primary + secondary targets
groupdocs-conversion list-all-formats              # full source -> target matrix

# Apply a license up-front
groupdocs-conversion --license license.lic convert in.docx out.pdf

# Equivalent module form
python -m groupdocs.conversion convert in.docx out.pdf

Exit codes: 0 success, 2 user error (unknown format, missing input), 1 runtime error.

AI Agent & LLM Friendly

This package is designed for seamless integration with AI agents, LLMs, and automated code generation tools.

  • AGENTS.md in the package — AI coding assistants (Claude Code, Cursor, GitHub Copilot) auto-discover the API surface, usage patterns, and troubleshooting tips from the installed package
  • MCP server — connect your AI tool to GroupDocs documentation for on-demand API lookups:
    { "mcpServers": { "groupdocs-docs": { "url": "https://docs.groupdocs.com/mcp" } } }
    
  • Machine-readable docs — full documentation available as plain text for RAG and LLM context:
    • Single file: https://docs.groupdocs.com/conversion/python-net/llms-full.txt
    • Per page: append .md to any docs URL

Evaluation Mode

The API works without a license in evaluation mode with the following limitations:

  • A watermark is added to output documents.
  • Only the first 3 pages are processed.

To remove these limitations, apply a license or request a temporary license:

from groupdocs.conversion import License
License().set_license("path/to/license.lic")

Or set the environment variable (auto-applied at import):

export GROUPDOCS_LIC_PATH="path/to/license.lic"

Troubleshooting

Issue Platform Fix
Garbled text or missing fonts in PDF Linux apt-get install ttf-mscorefonts-installer fontconfig && fc-cache -f
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT errors Linux Do NOT set this variable. ICU must be available.

System Requirements

  • Python 3.5 - 3.14
  • Windows x64/x86, Linux x64, macOS x64/ARM64

More Resources

Also available for other platforms: .NET | Java | Node.js


Product Page | Docs | Demos | API Reference | Blog | Free Support | Temporary License

Release files for groupdocs-conversion-net 26.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for groupdocs-conversion-net 26.9.0
File
groupdocs_conversion_net-26.9.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
groupdocs_conversion_net-26.9.0-py3-none-manylinux1_x86_64.whl Python 3 none Linux glibc 2.5+ x86-64 Details
groupdocs_conversion_net-26.9.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
groupdocs_conversion_net-26.9.0-py3-none-macosx_10_14_x86_64.whl Python 3 none macOS 10.14+ x86-64 Details

Total release size: 833.1 MB

Release files / groupdocs_conversion_net-26.9.0-py3-none-win_amd64.whl

Download URL groupdocs_conversion_net-26.9.0-py3-none-win_amd64.whl
Size 196.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
63935128d947cf5cb6943f5ef201afe52cc8e085637e55e6e46e97b5b8c95409
BLAKE2b-256 checksum
How to use checksums
52b69329f72c8b8685622c23ea0579eca3a2fa2cf5627d1adea1206b3a5dd300
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / groupdocs_conversion_net-26.9.0-py3-none-manylinux1_x86_64.whl

Download URL groupdocs_conversion_net-26.9.0-py3-none-manylinux1_x86_64.whl
Size 211.9 MB
Tags Linux glibc 2.5+ x86-64 Python 3
SHA-256 checksum
How to use checksums
0fd4b8bdd03d9d6ca0806415e598a97bfbe171e2195198b36c78e2a57843dfa3
BLAKE2b-256 checksum
How to use checksums
e3b7223ccfb7008bb0e790e913c66145843b4fa78d400f08a9dee7e24e0112ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / groupdocs_conversion_net-26.9.0-py3-none-macosx_11_0_arm64.whl

Download URL groupdocs_conversion_net-26.9.0-py3-none-macosx_11_0_arm64.whl
Size 211.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cd563d0df5a5cdec9a17ef19584a049258a86185af934bef62f53c5d94ad5dba
BLAKE2b-256 checksum
How to use checksums
8e20e88b9d1f440c24a9094a3cceb8834826a5c9ff30059e2575afc49e58c234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / groupdocs_conversion_net-26.9.0-py3-none-macosx_10_14_x86_64.whl

Download URL groupdocs_conversion_net-26.9.0-py3-none-macosx_10_14_x86_64.whl
Size 213.7 MB
Tags Python 3 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
fe9703c3529e75d7095ddf8e979be3c3cdb0d11a6747d562afcb2a0f38f45d74
BLAKE2b-256 checksum
How to use checksums
0fff040a9e77ae91864a3f1a8e6ddd555058b7e535ecf49685bbad9d9bd8b998
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

26.9.0 This release

4 release files

26.5.0

4 release files

26.3.0

4 release files

25.12

5 release files

24.12

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page