Products Technologies Demo Docs Blog Support Company

How to Secure your PDF Documents with ASP.NET Core C#

TX Text Control not only provides a sophisticated way to create PDF documents, but also to secure those PDF documents to ensure confidentiality and integrity. This article discusses the various options and safeguards for securing PDF documents.

How to Secure your PDF Documents with ASP.NET Core C#

To ensure the confidentiality and integrity of the information contained within, PDF documents can be encrypted. This can be done by specifying a user password and a master password. The reader then needs the user password to open the document and read its contents. If a master password is provided, certain settings and restrictions can be changed. These include content editing, copying, and printing.

Create PDFs Programmatically

This article describes how to programmatically generate PDF documents from HTML content in a .NET Console App.

Prerequisites

The following tutorial requires a trial version of TX Text Control .NET Server.

Preparing the Application

For the purposes of this demo, a .NET 6 console application is built.

  1. In Visual Studio, create a new Console App using .NET 6.

  2. In the Solution Explorer, select your created project and choose Manage NuGet Packages... from the Project main menu.

    Select Text Control Offline Packages from the Package source drop-down.

    Install the latest versions of the following package:

    • TXTextControl.TextControl.ASP.SDK

    Create PDF

Adding the Code

  1. Open the Program.cs file and add the following code:

    using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl())
    {
        tx.Create();
    
        TXTextControl.Selection selection = new TXTextControl.Selection();
        selection.Text = "Hello PDF!";
        selection.FontSize = 360;
        selection.FontName = "Arial";
        selection.ForeColor = System.Drawing.Color.Red;
    
        tx.Selection = selection;
    
        tx.Save("output.pdf", TXTextControl.StreamType.AdobePDFA);
    }

Running the Application

  1. Run the application and check the output folder for the generated PDF document.

Encrypt with User Password

If a user password is used for document encryption, the user will be prompted for the password in order to open the document. In order to do this, the SaveSettings are used to provide the user password.

using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl())
{
    tx.Create();

    TXTextControl.Selection selection = new TXTextControl.Selection();
    selection.Text = "Hello PDF!";
    selection.FontSize = 360;
    selection.FontName = "Arial";
    selection.ForeColor = System.Drawing.Color.Red;

    tx.Selection = selection;

    TXTextControl.SaveSettings saveSettings = new TXTextControl.SaveSettings()
    {
        UserPassword = "textcontrol"
    };

    tx.Save("output.pdf", TXTextControl.StreamType.AdobePDF, saveSettings);
}

When this document is opened in Acrobat Reader, the user is prompted for the password to open the document.

Create PDF

In Acrobat Reader, you can verify document security using the document security settings. These documents will be encrypted and will not be visible to search engines on the web as well.

Create PDF

Encrypt with Master Password

When you specify the master password, you can set a variety of restrictions, such as printing, copying, and editing.

using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl())
{
    tx.Create();

    TXTextControl.Selection selection = new TXTextControl.Selection();
    selection.Text = "Hello PDF!";
    selection.FontSize = 360;
    selection.FontName = "Arial";
    selection.ForeColor = System.Drawing.Color.Red;

    tx.Selection = selection;

    TXTextControl.SaveSettings saveSettings = new TXTextControl.SaveSettings()
    {
        UserPassword = "textcontrol",
        MasterPassword = "textcontrol",
        DocumentAccessPermissions = TXTextControl.DocumentAccessPermissions.AllowGeneralEditing |
            TXTextControl.DocumentAccessPermissions.AllowLowLevelPrinting |
            TXTextControl.DocumentAccessPermissions.AllowExtractContents
    };

    tx.Save("output.pdf", TXTextControl.StreamType.AdobePDF, saveSettings);
}

These settings will be reflected in the security settings of the Adobe PDF document.

Create PDF

The following restrictions can be set:

AllowAll
After the document has been opened no further document access is restricted.

AllowAuthoring
Allows comments to be added and interactive form fields (including signature fields) to be filled in.

AllowAuthoringFields
Allows existing interactive form fields (including signature fields) to be filled in.

AllowContentAccessibility
Allows content access for the visually impaired only.

AllowDocumentAssembly
Allows the document to be to assembled (insert, rotate or delete pages and create bookmarks or thumbnails).

AllowExtractContents
Allows text and/or graphics to be extraced.

AllowGeneralEditing
Allows the document contents to be modified.

AllowHighLevelPrinting
Allows the document to be printed.

AllowLowLevelPrinting
Allows the document to be printed (low-level).

Learn More

With TX Text Control, adding digital and electronic signatures to documents is a simple task. This article shows how to sign the entire document with a digital certificate and how to sign individual signature fields.

Adding Digital Signatures to PDF Documents in C#

Stay in the loop!

Subscribe to the newsletter to receive the latest updates.

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.

ASP.NET Core
Angular
Blazor
JavaScript
React
  • Angular
  • Blazor
  • React
  • JavaScript
  • ASP.NET MVC, ASP.NET Core, and WebForms

Learn more Trial token Download trial

Related Posts

ASP.NETASP.NET CorePassword

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…


ASP.NETDigital SignaturesPDF

E-Sign: Validating Signature Hashes Generated from Vector Data in ASP.NET…

Storing the raw data of the signature, including point positions, velocity, and acceleration, can help strengthen the evidence. By generating and storing a hash of the raw signature data in the…


ASP.NETAIASP.NET Core

Automating PDF/UA Accessibility with AI: Describing DOCX Documents Using TX…

This article shows how to use TX Text Control together with the OpenAI API to automatically add descriptive texts (alt text and labels) to images, links, and tables in a DOCX. The resulting…


ASP.NETASP.NET CoreJava

Converting Office Open XML (DOCX) to PDF in Java

Learn how to convert Office Open XML (DOCX) documents to PDF in Java using the powerful ServerTextControl library. This guide provides step-by-step instructions and code examples to help you…


ASP.NETComparisonDocument Processing SDK

Document SDK Comparison: Complete Document Processing vs. PDF SDK

This blog outlines why complete document processing SDKs offer greater value for your investment compared to PDF SDKs. It also specifies the business factors and technical advantages that matter…