GroupDocs.Signature for Python via .NET Overview

What is GroupDocs.Signature?

GroupDocs.Signature for Python via .NET is a native Python library that adds electronic signatures to PDF, Word, Excel, PowerPoint, OpenDocument, and image files, and finds, verifies, updates, and removes the signatures those files already carry. It supports eight signature types, from a visible text label to a certificate-based digital signature, and handles them all through one API: the Signature class and an options object per operation. It runs entirely on-premise, needs no Microsoft Office or Adobe Acrobat installation, and ships as a pre-built wheel for Windows, Linux, and macOS.

Typical uses include:

  • Approval and contract workflows: stamp a name, a date, or an approval mark on documents as they move through a business process.
  • Certificate-based signing: sign PDF, Word, Excel, and PowerPoint documents with a digital certificate, and check those signatures later.
  • Tracking and labelling: put barcodes and QR codes on invoices, shipping documents, and forms so that they can be scanned and matched.
  • Inbound document checks: search incoming documents for signatures and verify that they carry the ones you expect.
  • Hidden markers: store metadata signatures inside a document for audit trails, without changing how it looks.
  • AI pipelines: let an agent sign approved documents or report the signatures a document carries. See Agents and LLM Integration.

With its API, you can:

  • Sign documents with text, image, digital, barcode, QR code, stamp, form-field, and metadata signatures.
  • Add several signatures of different types in a single call.
  • Customize how signatures look and where they appear: position, size, alignment, fonts, colors, borders, and transparency.
  • Search a document for existing signatures of one or several types.
  • Verify text, digital, barcode, and QR code signatures against the values you expect.
  • Update or delete signatures found by a search.
  • Read document information such as file type, size, page count, and page sizes.
  • Render document pages and signatures to images for previews.
  • Open password-protected documents.

GroupDocs.Signature runs on Windows, Linux, and macOS (Intel and Apple Silicon) with Python 3.5 to 3.14.

Key Capabilities

CapabilityDescription
Sign documentsAdd text, image, digital, barcode, QR code, stamp, form-field, and metadata signatures, one at a time or several at once.
Search for signaturesFind the signatures a document carries, with their position, size, and content.
Verify signaturesCheck that a document carries the signatures you expect, including certificate-based digital signatures.
Update and deleteMove, resize, or change existing signatures, or remove them one by one or by type.
PreviewsRender document pages and signatures to images.
Protected documentsSign password-protected PDF files.
One API for every formatThe same code signs PDF, Word, Excel, PowerPoint, OpenDocument, and image files; the library detects the format from the file.
On-premiseNo cloud calls and no network traffic: documents never leave your environment.

Quick Example

from groupdocs.signature import Signature
from groupdocs.signature.options import TextSignOptions


def sign_pdf_with_text_signature():
    # Open the document; the with-block releases the file when it ends
    with Signature("sample.pdf") as signature:
        # A text signature 100 pixels from the left and top edges of the first page
        options = TextSignOptions("John Smith")
        options.left = 100
        options.top = 100

        # Sign and save the result to a new file; the source stays unchanged
        result = signature.sign("signed_sample.pdf", options)
        print(f"Signatures added: {len(result.succeeded)}")


if __name__ == "__main__":
    sign_pdf_with_text_signature()
from groupdocs.signature import Signature
from groupdocs.signature.options import TextVerifyOptions


def verify_text_signature():
    with Signature("signed.pdf") as signature:
        # Verification succeeds when a text signature with exactly this text is found
        options = TextVerifyOptions("John Smith")
        result = signature.verify(options)
        print(f"Document is signed by John Smith: {result.is_valid}")


if __name__ == "__main__":
    verify_text_signature()

Where to Next

  1. Install the package: Installation covers PyPI and offline wheel installation for Windows, Linux, and macOS.
  2. Run your first example: the Quick Start Guide signs, searches, and verifies a PDF in a few minutes.
  3. Explore the examples: How to Run Examples clones the runnable repository and runs every documented scenario locally or in Docker.
  4. Use it in depth: the Developer Guide covers every signature type and operation.
  5. Plug it into AI pipelines: Agents and LLM Integration explains the MCP servers and the AGENTS.md shipped inside the wheel.

Technical Support

If you encounter an issue while using GroupDocs.Signature or have a technical question, feel free to create a post in our Free Support Forum. If free support is not sufficient, you can submit a ticket to our Paid Support Helpdesk.