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.

GroupDocs.Merger for Python via .NET Downloads

banner

PyPI PyPI - Python Version

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

GroupDocs.Merger for Python via .NET is a document-manipulation API for combining and reorganizing documents. Join multiple files into one, split a document into several, and reorder, swap, move, rotate, extract, or remove pages — across Word, Excel, PowerPoint, PDF, Visio, images, eBooks, email, and text formats through one unified API, with no MS Office, OpenOffice, or other external software required. It also manages document passwords, changes page orientation, and renders page previews.

Get Started

pip install groupdocs-merger-net
from groupdocs.merger import Merger

with Merger("document1.docx") as merger:
    merger.join("document2.docx")
    merger.save("merged.docx")

How It Works

The package is a self-contained Python wheel that bundles the embedded .NET runtime and every native dependency (SkiaSharp, Aspose.Drawing) needed to load, manipulate, and save documents. No external software installation is required — just pip install and start merging. The wheel works across Python 3.5 – 3.14 on Windows, Linux, and macOS (Intel + Apple Silicon).

Features

  • Merge / join — combine multiple documents of the same family into one; join whole files, page subsets, or images.
  • Split — break a document into multiple files by page list or interval; split text by lines.
  • Page management — extract, remove, swap, move, and rotate pages; change page orientation; target odd/even/range subsets.
  • Password protection — add, change, or remove document passwords; set PDF owner passwords and permissions.
  • Document introspection — read format, page count, size, and per-page dimensions without a full rebuild.
  • Page previews — render pages to PNG, JPEG, or BMP via a Python page-stream callback.
  • OLE & attachments — embed spreadsheets, presentations, diagrams, and PDF attachments.
  • Cross-Platform — Windows x64/x86, Linux x64, macOS x64/ARM64.

Common Tasks

  • Merge two or more PDFs (or DOCX, XLSX, PPTX) into a single document
  • Split a multi-page document into one file per page or per interval
  • Extract a subset of pages, or remove unwanted pages
  • Reorder a document: swap two pages, move a page, rotate pages
  • Add, change, or remove a password on a document
  • Read a file’s page count, size, and per-page dimensions before processing

Supported File Formats

For a complete list, see supported formats.

CategoryFormats
Word ProcessingDOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF, TXT
SpreadsheetsXLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, XLAM, ODS, CSV, TSV
PresentationsPPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP
Fixed-LayoutPDF, XPS, TEX
Visio DiagramsVSD, VSDX, VSDM, VSS, VSSX, VSSM, VST, VSTX, VSTM, VDX, VSX, VTX
ImagesBMP, JPG, JPEG, PNG, GIF, TIF, TIFF, SVG, SVGZ, EMF, EMZ
eBooks & WebEPUB, HTML, MHT, MHTML, ONE

Examples

Merge two documents

from groupdocs.merger import Merger

with Merger("document1.docx") as merger:
    merger.join("document2.docx")
    merger.save("merged.docx")

Get document info

from groupdocs.merger import Merger

with Merger("document.pdf") as merger:
    info = merger.get_document_info()
    print("Type:", info.type.file_format)
    print("Pages:", info.page_count)
    print("Size:", info.size, "bytes")
    for page in info.pages:
        print(f"  page {page.number}: {page.width}x{page.height}")

Split a document into single pages

from groupdocs.merger import Merger
from groupdocs.merger.domain.options import SplitOptions

with Merger("multipage.pdf") as merger:
    merger.split(SplitOptions("page_{0}.pdf", [1, 2, 3]))

Extract, remove, and reorder pages

from groupdocs.merger import Merger
from groupdocs.merger.domain.options import (
    ExtractOptions, RemoveOptions, SwapOptions, RotateOptions, RotateMode,
)

with Merger("document.pdf") as merger:
    merger.extract_pages(ExtractOptions([1, 2, 3]))   # keep pages 1-3
    merger.swap_pages(SwapOptions(1, 3))              # swap pages 1 and 3
    merger.rotate(RotateOptions(RotateMode.ROTATE90, [2]))
    merger.save("reordered.pdf")

Add a password

from groupdocs.merger import Merger
from groupdocs.merger.domain.options import AddPasswordOptions

with Merger("document.pdf") as merger:
    merger.add_password(AddPasswordOptions("secret"))
    merger.save("protected.pdf")

Render page previews

from groupdocs.merger import Merger
from groupdocs.merger.domain.options import PreviewOptions, PreviewMode

def create_page_stream(page_number):
    return open(f"page-{page_number}.png", "wb")   # return a file/path stream

with Merger("document.pdf") as merger:
    merger.generate_preview(PreviewOptions(create_page_stream, PreviewMode.PNG, [1, 2]))

Merge from binary streams

import io
from groupdocs.merger import Merger

with open("document1.pdf", "rb") as src:
    with Merger(src) as merger:
        with open("document2.pdf", "rb") as tgt:
            merger.join(tgt)
        buffer = io.BytesIO()
        merger.save(buffer)             # BytesIO is updated after save
        data = buffer.getvalue()

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/merger/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 these limitations:

  • Output is restricted: PDF output carries an evaluation watermark and other formats show an equivalent evaluation mark.
  • A page/document-count cap applies to processed documents.

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

from groupdocs.merger 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

IssuePlatformFix
System.Drawing.Common is not supportedLinux/macOSapt-get install libgdiplus (Linux) or brew install mono-libgdiplus (macOS)
The type initializer for 'Gdip' threw an exceptionmacOSbrew install mono-libgdiplus
Garbled text / missing fonts in outputLinuxapt-get install ttf-mscorefonts-installer fontconfig && fc-cache -f
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT errorsLinuxDo NOT set this variable. ICU must be available.
IncorrectPasswordException / PasswordRequiredExceptionAllOpen with Merger(path, LoadOptions(password="..."))

System Requirements

  • Python 3.5 - 3.14
  • Windows x64/x86, Linux x64, macOS x64/ARM64
  • No additional software required

More Resources

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


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


Direct Download

Icons

GroupDocs.Merger for Python via .NET 26.6 Windows

Self-contained Python wheel of GroupDocs.Merger 26.6 for Windows (x64). Compatible with Python 3.5-3.14. No external dependencies required. Merge, split, reorder and manipulate document pages.

Added: 2/6/2026 Downloads:

Download

File Size: 141.73MB

Icons

GroupDocs.Merger for Python via .NET 26.6 Linux

Self-contained Python wheel of GroupDocs.Merger 26.6 for Linux (x64). Compatible with Python 3.5-3.14. Requires libgdiplus, libfontconfig1, and fonts (e.g. ttf-mscorefonts-installer). Merge, split, reorder and manipulate document pages.

Added: 2/6/2026 Downloads:

Download

File Size: 141.53MB

Icons

GroupDocs.Merger for Python via .NET 26.6 macOS arm64

Self-contained Python wheel of GroupDocs.Merger 26.6 for macOS arm64 (Apple Silicon). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Merge, split, reorder and manipulate document pages.

Added: 2/6/2026 Downloads:

Download

File Size: 140.73MB

Icons

GroupDocs.Merger for Python via .NET 26.6 macOS amd64

Self-contained Python wheel of GroupDocs.Merger 26.6 for macOS amd64 (Intel). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Merge, split, reorder and manipulate document pages.

Added: 2/6/2026 Downloads:

Download

File Size: 142.85MB

Icons

GroupDocs.Merger for Python via .NET 25.3 Windows AMD64

This whl contains GroupDocs.Merger for Python via .NET version 25.3, built for Windows and targeting the AMD64 architecture.

Added: 5/3/2025 Downloads:

Download

File Size: 130.98MB

Icons

GroupDocs.Merger for Python via .NET 25.3 Windows x32

This wheel contains GroupDocs.Merger version 25.3, compatible with Python 3 and optimized for Windows 32-bit systems.

Added: 5/3/2025 Downloads:

Download

File Size: 126.91MB

Icons

GroupDocs.Merger for Python via .NET 25.3 MacOS x86_64

This whl contains GroupDocs.Merger version 25.3, compatible with Python 3 and optimized for MacOS 64-bit systems.

Added: 5/3/2025 Downloads:

Download

File Size: 135.48MB

Icons

GroupDocs.Merger for Python via .NET 25.3 Linux x86_64

This wheel contains GroupDocs.Merger version 25.3, compatible with Python 3 and optimized for Linux 64-bit systems.

Added: 5/3/2025 Downloads:

Download

File Size: 134.83MB

Icons

GroupDocs.Merger for Python via .NET 24.10 Windows AMD64

This whl contains GroupDocs.Merger for Python via .NET version 24.10, built for Windows and targeting the AMD64 architecture.

Added: 2/10/2024 Downloads:

Download

File Size: 126.74MB

Icons

GroupDocs.Merger for Python via .NET 24.10 Windows x32

This wheel contains GroupDocs.Merger version 24.10, compatible with Python 3 and optimized for Windows 32-bit systems.

Added: 2/10/2024 Downloads:

Download

File Size: 122.87MB

Icons

GroupDocs.Merger for Python via .NET 24.7 Windows AMD64

This whl contains GroupDocs.Merger for Python via .NET version 24.7, built for Windows and targeting the AMD64 architecture.

Added: 20/9/2024 Downloads:

Download

File Size: 126.74MB

Icons

GroupDocs.Merger for Python via .NET 24.7.0 Windows x32

This wheel contains GroupDocs.Merger version 24.7.0, compatible with Python 3 and optimized for Windows 32-bit systems.

Added: 20/9/2024 Downloads:

Download

File Size: 122.87MB