How to Redact Regions in PDF Files with C#
Redacting sensitive information in PDF documents is crucial for ensuring privacy and compliance with data protection regulations. The [POST] Redact Region API from IronSecure Doc offers an efficient way to hide sensitive text and information in specific regions of a PDF document using true redaction. This API ensures that the redacted data is completely removed and cannot be recovered, making it ideal for handling confidential information in legal, financial, or personal documents.
How to Redact Regions in PDF Files
- Pull and start the IronSecureDoc Docker Image
- Try out the API using Swagger
- Set up the arguments
- Call the API from any preferred language
- Download the resulting PDF document
Pull and Start IronSecureDoc
If you don't have IronSecureDoc running yet, please follow the links below to get it set up:
| Host Locally | Deploy to Cloud |
|---|---|
The [POST] Redact Region API
The [POST] Redact Region API endpoint allows you to hide sensitive information within specific regions of a PDF document using true redaction. This feature is crucial for applications that manage confidential documents, such as legal contracts, medical records, or financial statements. By leveraging this API, you can ensure that sensitive text within defined areas of a PDF is permanently removed, offering both security and compliance.
Trying It Out in Swagger
Swagger is a powerful tool that enables developers to interact with RESTful APIs through a user-friendly web interface. Whether you're using languages like Python, Java, or others, Swagger offers a convenient way to test and implement this API.
Steps to Redact Region with Swagger
-
Access the Swagger UI:
If your API server is running locally, you can access Swagger by navigating to
http://localhost:8080/swagger/index.htmlin your web browser.
-
Locate the [POST]
/v1/document-services/pdfs/redact-regionendpoint:Within the Swagger UI, find the
POST /v1/document-services/pdfs/redact-regionendpoint.
-
Specify Redaction Coordinates:
In this example, we will remove a table from the PDF on page index 1 (i.e., Page #2). Use the following coordinates to define the redaction region:
- Page index (
specific_pages): 1 - X Coordinate (
region_to_redact_x): 60 - Y Coordinate (
region_to_redact_y): 270 - Width (
region_to_redact_w): 470 - Height (
region_to_redact_h): 200
- Page index (
-
Set Optional Parameters:
Optionally, you can add a user or owner password, specify specific pages, or decide whether to draw a black box over the redacted area and save the document with PDF/A or PDF/UA compliance.

-
Upload a Sample PDF:
In the request body, upload a sample PDF file where you want to apply the redaction. Ensure that the file is added as
pdf_file. -
Execute the Request:
Click "Execute" to run the request. The response will include the redacted PDF, with the table removed from page index 1 as specified.

This Swagger UI interaction allows you to easily test the redaction process, providing immediate feedback on how the coordinates affect the PDF content.
-
Check the Output PDF:
The redacted region will be on page 2.
Understanding Input Parameters
Before using this API, it's essential to understand the input parameters required and optional for redacting a region in your PDF. These parameters help define the specific area to redact.
Key Parameters
pdf_file: The PDF document you want to redact.region_to_redact_x: X coordinate of the region to redact (starting from the bottom-left of the page).region_to_redact_y: Y coordinate of the region to redact (starting from the bottom-left of the page).region_to_redact_w: Width of the region to redact.region_to_redact_h: Height of the region to redact.
Optional Parameters
user_password: If the PDF is password-protected, provide the user password.owner_password: Provide the owner password if modifications are restricted.specific_pages: Specify which pages to redact. If not provided, the redaction applies to all pages.save_as_pdfa: Save the PDF with PDF/A-3 compliance.save_as_pdfua: Save the PDF with PDF/UA compliance.
API Integration: Python Example
Once you're familiar with the parameters, you can call this API using your preferred programming language. Below is an example of how to integrate this API using Python.
import requests
# Define the API endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/redact-region'
# Set the headers for the request (optional relevant metadata)
headers = {
'accept': '*/*',
'author': 'Iron Software',
'title': 'REDACT REGION DEMO 2024',
'subject': 'DEMO EXAMPLE'
}
# Open the PDF file to be redacted in binary read mode
files = {
'pdf_file': ('sample_file.pdf', open('sample_file.pdf', 'rb'), 'application/pdf')
}
# Define the coordinates and page for the redaction region
data = {
'region_to_redact_x': '60', # X-coordinate starting at the bottom-left
'region_to_redact_y': '270', # Y-coordinate starting at the bottom-left
'region_to_redact_w': '470', # Width of the region to be redacted
'region_to_redact_h': '200', # Height of the region to be redacted
'specific_pages': [1] # Specify the page index to redact
}
# Make the POST request to the API with the provided parameters and file
response = requests.post(url, headers=headers, files=files, data=data)
# Save the redacted PDF response to a new file
with open('redacted_output.pdf', 'wb') as f:
f.write(response.content)
print('PDF redacted successfully.')
This code performs the following steps:
- Load the PDF: The PDF file to be redacted is loaded from the local file system.
- Set Redaction Parameters: Specify the coordinates (X, Y), width, height, and specific page to redact.
- Call the API: The [POST] Redact Region API is called, passing in the necessary parameters.
- Save the Result: The redacted PDF is saved as a new file.
The given region is redacted as shown below.

Frequently Asked Questions
What is the [POST] Redact Region API?
The [POST] Redact Region API is offered by IronSecureDoc for redacting specific regions in PDF documents. It securely removes sensitive information, ensuring compliance with privacy and data protection regulations.
How do you start using IronSecureDoc?
To start using IronSecureDoc, pull and start the Docker Image by following the link to the IronSecureDoc Docker setup. This allows you to run the service locally or deploy it to the cloud.
What steps are involved in redacting regions in PDF files with IronSecureDoc?
The steps for redacting regions include pulling the IronSecureDoc Docker image, using the API with Swagger, setting up arguments, calling the API from your preferred programming language, and downloading the redacted PDF document.
Can I choose which pages to redact in a PDF?
Yes, you can specify which pages to redact using the 'specific_pages' parameter when using the [POST] Redact Region API in IronSecureDoc.
How do I set up redaction coordinates using the API?
Set the redaction region by specifying the X and Y coordinates, width, and height in the API request to define the area you want to redact.
What optional parameters can enhance my redaction process?
Optional parameters include setting user and owner passwords for protected PDFs, specifying particular pages for redaction, and choosing compliance formats like PDF/A or PDF/UA.
Can IronSecureDoc ensure permanent removal of redacted data?
Yes, the true redaction feature of IronSecureDoc guarantees that redacted data is completely removed and cannot be recovered, ensuring confidentiality.
How can I test the [POST] Redact Region API?
You can use Swagger to interact with the API via a user-friendly interface, which allows you to test and implement the redaction process for your specific PDF documents.
Is it possible to incorporate IronSecureDoc API into applications using Python?
Yes, you can integrate IronSecureDoc's API into applications by using Python or other programming languages, providing necessary parameters and interfacing with the API endpoint.
What is the benefit of using PDF/A or PDF/UA compliance options?
Saving redacted PDFs with PDF/A or PDF/UA compliance in IronSecureDoc ensures that the document meets specific long-term preservation standards and accessibility requirements.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.