GroupDocs.Signature for Python via .NET Overview
Leave feedback
On this page
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.
No cloud calls and no network traffic: documents never leave your environment.
Quick Example
fromgroupdocs.signatureimportSignaturefromgroupdocs.signature.optionsimportTextSignOptionsdefsign_pdf_with_text_signature():# Open the document; the with-block releases the file when it endswithSignature("sample.pdf")assignature:# A text signature 100 pixels from the left and top edges of the first pageoptions=TextSignOptions("John Smith")options.left=100options.top=100# Sign and save the result to a new file; the source stays unchangedresult=signature.sign("signed_sample.pdf",options)print(f"Signatures added: {len(result.succeeded)}")if__name__=="__main__":sign_pdf_with_text_signature()
fromgroupdocs.signatureimportSignaturefromgroupdocs.signature.optionsimportTextVerifyOptionsdefverify_text_signature():withSignature("signed.pdf")assignature:# Verification succeeds when a text signature with exactly this text is foundoptions=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
Install the package: Installation covers PyPI and offline wheel installation for Windows, Linux, and macOS.
Run your first example: the Quick Start Guide signs, searches, and verifies a PDF in a few minutes.
Explore the examples: How to Run Examples clones the runnable repository and runs every documented scenario locally or in Docker.
Use it in depth: the Developer Guide covers every signature type and operation.
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.
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.