Exporting Password Protected Documents to PDF in .NET C#
This article shows how to export password protected documents to PDF in .NET C# using TX Text Control .NET Server. Existing password protected documents can be imported, modified and exported to PDF with a password.

With TX Text Control, you can protect documents from authoring by encrypting the document with a password and adding editable areas as exceptions for specific users. The next code snippet adds an editable region in a specific selection range for the user developer@textcontrol.com. The word Text is now editable for this specific user:
textControl1.Text = "TX Text Control";
EditableRegion region = new EditableRegion("developer@textcontrol.com", 10, 4, 4);
textControl1.EditableRegions.Add(region);
Protecting Documents
The following code can be used to protect and save the document:
textControl1.EditMode = EditMode.UsePassword | EditMode.ReadAndSelect;
textControl1.Save("encrypted-document.tx", TXTextControl.StreamType.InternalUnicodeFormat);
After loading the document, the User
@Html.TXTextControl().TextControl(settings => {
settings.UserNames = new string[] { "developer@textcontrol.com" };
}).LoadText(sDocument, TXTextControl.Web.BinaryStreamType.InternalUnicodeFormat).Render()
Loading Secured Documents
But what if you want to load a secured document into a non-visual Server
Because the loaded document is protected and cannot be exported to PDF as is, the following code would fail:
using TXTextControl;
using (ServerTextControl tx = new ServerTextControl()) {
tx.Create();
// Load an encrypted document protected with a password
tx.Load("encrypted-document.tx", StreamType.InternalUnicodeFormat);
tx.Save("results.pdf", StreamType.AdobePDF);
}
Unlocking Secured Documents
There are two ways to solve this problem. The first way is to provide the password when loading the document to unlock it. This is done using the Master
using TXTextControl;
using (ServerTextControl tx = new ServerTextControl()) {
tx.Create();
LoadSettings loadSettings = new LoadSettings()
{
MasterPassword = "123"
};
// Load an encrypted document protected with a password
tx.Load("encrypted-document.tx", StreamType.InternalUnicodeFormat, loadSettings);
tx.Save("results.pdf", StreamType.AdobePDF);
}
Preserving Original Settings
However, if you want to preserve the original author's Document
using TXTextControl;
using (ServerTextControl tx = new ServerTextControl()) {
tx.Create();
// Load an encrypted document protected with a password
tx.Load("encrypted-document.tx", StreamType.InternalUnicodeFormat);
// Trying to save the document as PDF
try {
tx.Save("results.pdf", StreamType.AdobePDF);
}
catch (FilterException exc) {
// Check if the exception was thrown because of an encrypted password
if (exc.Reason == FilterException.FilterError.EncryptedPassword)
{
// Provide the password to save the document
SaveSettings saveSettings = new SaveSettings() {
MasterPassword = "123"
};
// Save the document as PDF
tx.Save("results.pdf", StreamType.AdobePDF, saveSettings);
}
}
}
Conclusion
With TX Text Control, you can protect documents from editing by encrypting the document with a password and adding editable areas as exceptions for certain users. This article shows how to protect documents and how to unlock protected documents for further processing and export to PDF.
ASP.NET
Integrate document processing into your applications to create documents such as PDFs and MS Word documents, including client-side document editing, viewing, and electronic signatures.
- Angular
- Blazor
- React
- JavaScript
- ASP.NET MVC, ASP.NET Core, and WebForms
Related Posts
ASP.NETASP.NET CoreDocument Viewer
Native PDF Annotation Support Is Coming to the TX Text Control Document Viewer
The next version of the TX Text Control Document Viewer will introduce an important enhancement to PDF workflows: native support for PDF-compatible annotations. Users will be able to add…
Building a Browser-Based PDF Workflow for Medical Billing using .NET C#
Learn how to create a browser-based PDF workflow for medical billing with .NET C# and TX Text Control. TX Text Control .NET Server offers different components optimized for the individual parts of…
AI Natural Language Document Generation with MCP and TX Text Control .NET
This article explains how AI agents can use natural language to create documents through an MCP server. Instead of letting a language model generate documents directly, the AI translates prompts…
C# Document Generation: A Developer's Guide for .NET
Document generation refers to the automatic creation of documents from application data. The success or complexity of a document generation workflow often depends on a single early architectural…
ASP.NETAccessibilityASP.NET Core
Validating PDF/UA Documents in .NET C#: A Practical Guide
This article explains how to validate PDF/UA documents in .NET C# using the TXTextControl.PDF.Validation NuGet package. It shows how to inspect validation status, generate JSON reports, handle…
