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.Redaction for Python via .NET is a document-sanitization API for permanently removing sensitive information. Redact text by exact phrase or regular expression, scrub or replace metadata, remove or rewrite annotations, black out image regions, delete whole pages, and rasterize the result so nothing redacted can be recovered — across Word, Excel, PowerPoint, PDF, images, and text formats through one unified API, with no MS Office, OpenOffice, or other external software required.
pip install groupdocs-redaction-net
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import ExactPhraseRedaction, ReplacementOptions
with Redactor("document.docx") as redactor:
redactor.apply(ExactPhraseRedaction("confidential", ReplacementOptions("[REDACTED]")))
redactor.save()
The package is a self-contained Python wheel that bundles the embedded .NET runtime and every native dependency (SkiaSharp, Aspose.Drawing) needed to load, redact, and save documents. No external software installation is required — just pip install and start redacting. The wheel works across Python 3.5 – 3.14 on Windows, Linux, and macOS (Intel + Apple Silicon).
IRedactionCallback to accept/reject each match.For a complete list, see supported formats.
| Category | Formats |
|---|---|
| Word Processing | DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT, ODT, OTT |
| Spreadsheets | XLS, XLSX, XLSM, XLSB, CSV, TSV, ODS, OTS, NUMBERS |
| Presentations | PPT, PPTX, ODP |
| Fixed-Layout | |
| Images | BMP, JPG, JPEG, PNG, GIF, TIF, TIFF, JP2 |
| Web & Markdown | HTM, HTML, MD |
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import ExactPhraseRedaction, ReplacementOptions
with Redactor("document.docx") as redactor:
# case-insensitive by default; pass True for case-sensitive
redactor.apply(ExactPhraseRedaction("John Doe", True, ReplacementOptions("[CUSTOMER]")))
redactor.save()
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import RegexRedaction, ReplacementOptions
with Redactor("document.docx") as redactor:
# numbers (e.g. SSNs, IDs)
redactor.apply(RegexRedaction(r"\d{2,}", ReplacementOptions("[NUMBER]")))
# email addresses
redactor.apply(RegexRedaction(r"[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}", ReplacementOptions("[EMAIL]")))
redactor.save()
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import ExactPhraseRedaction, ReplacementOptions
from groupdocs.pydrawing import Color
with Redactor("document.pdf") as redactor:
redactor.apply(ExactPhraseRedaction("Top Secret", ReplacementOptions(Color.BLACK)))
redactor.save()
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import EraseMetadataRedaction, MetadataSearchRedaction, MetadataFilters
with Redactor("document.docx") as redactor:
redactor.apply(EraseMetadataRedaction(MetadataFilters.ALL)) # wipe everything
redactor.apply(MetadataSearchRedaction(".*@acme\\.com", "[EMAIL]")) # rewrite by value pattern
redactor.save()
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import ImageAreaRedaction, RegionReplacementOptions
from groupdocs.pydrawing import Point, Size, Color
with Redactor("scan.pdf") as redactor:
redactor.apply(ImageAreaRedaction(Point(50, 60), RegionReplacementOptions(Color.BLACK, Size(200, 80))))
redactor.save()
By default save() rasterizes the result to a PDF and appends a _Redacted suffix. To keep the source format instead:
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import RegexRedaction, ReplacementOptions
from groupdocs.redaction.options import SaveOptions
with Redactor("document.docx") as redactor:
redactor.apply(RegexRedaction(r"\d+", ReplacementOptions("[NUM]")))
redactor.save(SaveOptions(rasterize_to_pdf=False)) # writes document_Redacted.docx
from groupdocs.redaction import Redactor
with Redactor("document.pdf") as redactor:
info = redactor.get_document_info()
print("Type:", info.file_type.file_format)
print("Pages:", info.page_count)
print("Size:", info.size, "bytes")
import io
from groupdocs.redaction import Redactor
from groupdocs.redaction.redactions import ExactPhraseRedaction, ReplacementOptions
from groupdocs.redaction.options import RasterizationOptions
with open("document.docx", "rb") as src:
with Redactor(src) as redactor:
redactor.apply(ExactPhraseRedaction("secret", ReplacementOptions("[X]")))
ro = RasterizationOptions(); ro.enabled = False # keep original format
buffer = io.BytesIO()
redactor.save(buffer, ro) # BytesIO is updated after save
data = buffer.getvalue()
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/redaction/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.redaction 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 |
|---|---|---|
Trial mode allows only 1 document to open | All | Apply a license — License().set_license(...) or set GROUPDOCS_LIC_PATH |
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. |
IncorrectPasswordException / PasswordRequiredException | All | Open with Redactor(path, LoadOptions(password="...")) |
Also available for other platforms: .NET | Java
Product Page | Docs | Demos | API Reference | Blog | Free Support | Temporary License
GroupDocs.Redaction GroupDocs.Total Python PyPi Document-Redaction Text-Redaction PDF Metadata-Removal Security
Self-contained Python wheel of GroupDocs.Redaction 26.6 for Windows (x64). Compatible with Python 3.5-3.14. No external dependencies required. Redact sensitive content from documents.
Added: 12/6/2026
Downloads:
File Size: 113.76MB
Self-contained Python wheel of GroupDocs.Redaction 26.6 for Linux (x64). Compatible with Python 3.5-3.14. Requires libgdiplus, libfontconfig1, and fonts (e.g. ttf-mscorefonts-installer). Redact sensitive content from documents.
Added: 12/6/2026
Downloads:
File Size: 112.92MB
Self-contained Python wheel of GroupDocs.Redaction 26.6 for macOS arm64 (Apple Silicon). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Redact sensitive content from documents.
Added: 12/6/2026
Downloads:
File Size: 112.74MB
Self-contained Python wheel of GroupDocs.Redaction 26.6 for macOS amd64 (Intel). Compatible with Python 3.5-3.14. Requires mono-libgdiplus (brew install mono-libgdiplus). Redact sensitive content from documents.
Added: 12/6/2026
Downloads:
File Size: 114.86MB
This wheel contains GroupDocs.Redaction version 25.10, compatible with Python 3 and optimized for Windows 32-bit systems.
Added: 18/10/2025
Downloads:
File Size: 109.9MB
This wheel contains GroupDocs.Redaction for Python via .NET 25.10, built for Windows and targeting the AMD64 architecture.
Added: 18/10/2025
Downloads:
File Size: 115.27MB
This wheel contains GroupDocs.Redaction for Python via .NET version 25.10 built for MacOS and targeting the ARM64 architecture.
Added: 18/10/2025
Downloads:
File Size: 116.22MB
This wheel contains GroupDocs.Redaction version 25.5, compatible with Python 3 and optimized for Windows 32-bit systems.
Added: 21/5/2025
Downloads:
File Size: 109.96MB
This wheel contains GroupDocs.Redaction for Python via .NET 25.5, built for Windows and targeting the AMD64 architecture.
Added: 21/5/2025
Downloads:
File Size: 115.3MB
This wheel contains GroupDocs.Redaction for Python via .NET version 25.5 built for MacOS and targeting the ARM64 architecture.
Added: 21/5/2025
Downloads:
File Size: 116.22MB