Browse our Products
If so you can download any of the below versions for testing. The product will function as normal except for an evaluation limitation. At the time of purchase we provide a license file via email that will allow the product to work in its full capacity. If you would also like an evaluation license to test without any restrictions for 30 days, please follow the directions provided here.
If you experience errors, when you try to download a file, make sure your network policies (enforced by your company or ISP) allow downloading ZIP and/or MSI files.
Product Page | Docs | Demos | API Reference | Blog | Free Support | Temporary License
GroupDocs.Editor for Python via .NET is a document-editing API built around an HTML round-trip: load a document, convert it to clean, editable HTML/CSS, edit that markup in any WYSIWYG editor or programmatically, then save it back to the original format — or convert it to another. It works with Word processing, spreadsheets, presentations, PDF, email, eBooks, and text/markup formats through one unified API, with no MS Office or OpenOffice installation required.
pip install groupdocs-editor-net
from groupdocs.editor import Editor
with Editor("document.docx") as editor:
editable = editor.edit()
html = editable.get_body_content()
print(html)
The package is a self-contained Python wheel (~120 MB) that bundles the embedded .NET runtime and every native dependency (SkiaSharp, Aspose.Drawing) needed to load, render, and save documents. No external software installation is required — just pip install and start editing. The wheel works across Python 3.5 – 3.14 on Windows, Linux, and macOS (Intel + Apple Silicon).
*SaveOptions to convert it (e.g. DOCX → PDF, DOCX → Markdown) via the HTML intermediate.For a complete list, see supported formats.
| Category | Formats |
|---|---|
| Word Processing | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF, WordML, FlatOPC |
| Spreadsheets | XLS, XLT, XLSX, XLSM, XLSB, XLTX, XLTM, XLAM, SpreadsheetML, ODS, FODS, SXC, DIF, CSV, TSV |
| Presentations | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP |
| Fixed-Layout | PDF, XPS |
| EML, EMLX, MSG, MBOX, MHT/MHTML, PST, OST, OFT, TNEF, ICS, VCF | |
| eBooks | EPUB, MOBI, AZW3 |
| Text & Markup | HTML, MHTML, CHM, XML, JSON, Markdown (MD), TXT |
from groupdocs.editor import Editor
from groupdocs.editor.options import WordProcessingLoadOptions
with Editor("input.docx", WordProcessingLoadOptions()) as editor:
editable = editor.edit()
body = editable.get_body_content()
print("body length:", len(body))
from groupdocs.editor import Editor
with Editor("input.docx") as editor:
info = editor.get_document_info()
print("Format:", info.format.name)
print("Extension:", info.format.extension)
print("Pages:", info.page_count)
print("Size:", info.size, "bytes")
print("Encrypted:", info.is_encrypted)
get_document_info() returns a lightweight view that supports both snake_case attribute access (shown above) and dict access (info["PageCount"], info["Format"]["Name"]) for the underlying PascalCase keys.
from groupdocs.editor import Editor
from groupdocs.editor.options import WordProcessingLoadOptions, WordProcessingEditOptions
with Editor("input.docx", WordProcessingLoadOptions()) as editor:
eo = WordProcessingEditOptions()
eo.enable_pagination = False
eo.enable_language_information = True
html = editor.edit(eo).get_content()
print(len(html))
from groupdocs.editor import Editor, EditableDocument
from groupdocs.editor.formats import WordProcessingFormats
from groupdocs.editor.options import WordProcessingSaveOptions
with Editor("input.docx") as editor:
editable = editor.edit()
edited_html = editable.get_embedded_html().replace("Subtitle", "Edited subtitle")
after_edit = EditableDocument.from_markup(edited_html)
editor.save(after_edit, "output.docx", WordProcessingSaveOptions(WordProcessingFormats.DOCX))
from groupdocs.editor import Editor
from groupdocs.editor.options import PdfSaveOptions
with Editor("input.docx") as editor:
editable = editor.edit()
editor.save(editable, "output.pdf", PdfSaveOptions())
from groupdocs.editor import Editor
from groupdocs.editor.options import SpreadsheetLoadOptions, SpreadsheetEditOptions
with Editor("book.xlsx", SpreadsheetLoadOptions()) as editor:
eo = SpreadsheetEditOptions()
eo.worksheet_index = 0 # 0-based
html = editor.edit(eo).get_body_content()
print(len(html))
import io
from groupdocs.editor import Editor
from groupdocs.editor.options import WordProcessingLoadOptions
with open("input.docx", "rb") as stream:
with Editor(stream, WordProcessingLoadOptions()) as editor:
html = editor.edit().get_content()
print(len(html))
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{ "mcpServers": { "groupdocs-docs": { "url": "https://docs.groupdocs.com/mcp" } } }
https://docs.groupdocs.com/editor/python-net/llms-full.txt.md to any docs URLThe API works without a license in evaluation mode, with these limitations:
To remove these limitations, apply a license or request a temporary license:
from groupdocs.editor 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"
| Issue | Platform | Fix |
|---|---|---|
System.Drawing.Common is not supported | Linux/macOS | apt-get install libgdiplus (Linux) or brew install mono-libgdiplus (macOS) |
The type initializer for 'Gdip' threw an exception | macOS | brew install mono-libgdiplus |
| Garbled text / missing fonts in output | 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. |
Also available for other platforms: .NET | Java | Node.js
Product Page | Docs | Demos | API Reference | Blog | Free Support | Temporary License
GroupDocs.Editor GroupDocs.Total Python PyPi Document-Editing HTML-Roundtrip PDF Word-Processing Spreadsheet Presentation Email eBook Text-Extraction
Self-contained Python wheel of GroupDocs.Editor 26.5 for Windows (x64). Compatible with Python 3.5-3.14. No external dependencies required. Edit documents in any format via HTML.
Added: 28/5/2026
Downloads:
File Size: 104.04MB
Self-contained Python wheel of GroupDocs.Editor 26.5 for Linux (x64). Compatible with Python 3.5-3.14. Requires libgdiplus, libfontconfig1, and fonts (e.g. ttf-mscorefonts-installer). Edit documents in any format via HTML.
Added: 28/5/2026
Downloads:
File Size: 90.41MB
Self-contained Python wheel of GroupDocs.Editor 26.5 for macOS arm64 (Apple Silicon). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Edit documents in any format via HTML.
Added: 28/5/2026
Downloads:
File Size: 90.22MB
Self-contained Python wheel of GroupDocs.Editor 26.5 for macOS amd64 (Intel). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Edit documents in any format via HTML.
Added: 28/5/2026
Downloads:
File Size: 92.57MB