Password Protect PDF in C# (.NET Core)

Password protection can be added to new PDF documents or to an existing PDF document using the DynamicPDF Generator and Merger products respectively. The steps and sample codes below explains using both products.

How to Password Protect a PDF

Setting password protection and encrypting a PDF can be done in a few lines of code.

When a user password is specified, the PDF viewer will require this password to open the PDF document. If left blank the viewer will not prompt for a password when opening the PDF.

When an owner password is specified, the PDF viewer will require it to modify the PDF.

Below is the list of classes used to set passwords or to encrypt PDF with different secuirty settings.

Steps to Password Protect PDF

  1. Create a Document object.
  2. Create a Page object and add it to Document.
  3. Create a Aes256Security object by setting the owner and user password.
  4. Set the security to the Document.
  5. Invoke the Draw method on the Document to output the PDF.

Sample code - C#

Document document = new Document();
            
Page page = new Page();
document.Pages.Add(page);
           
Aes256Security security = new Aes256Security("owner", "user");
document.Security = security;

document.Draw(@"C:\Output.pdf");

How to Add Password to a PDF

The above security classes can be used to add password protection to an existing PDF document as well.

Steps to Add Password to PDF

  1. Create a MergeDocument object with the path to the PDF file.
  2. Create a Aes256Security object by setting the owner and user password.
  3. Set the security to the Document.
  4. Invoke the Draw method on the Document to output the PDF.

Sample code - C#

MergeDocument document = new MergeDocument("pdf-a.pdf");

Aes256Security security = new Aes256Security("owner", "user");
document.Security = security;

document.Draw(@"C:\Output.pdf");

Getting Started

NuGet Package

DynamicPDF Generator and Merger are available on NuGet and are part of the ceTe.DynamicPDF.CoreSuite.NET package. The Core Suite package includes Generator, Merger and ReportWriter.

Nuget Logo
NuGet Package ID: ceTe.DynamicPDF.CoreSuite.NET

Example Project

An example project showing this functionality can be cloned or viewed from GitHub:

GitHub Logo
Clone or View Example Project on GitHub

DynamicPDF Generator and Merger Information

More information can be found here:

Available in Other Platforms

Generator and Merger PDF Libraries are available for Java and COM/AxtiveX platforms. Refer to the respective product pages for more details.

Why Choose DynamicPDF?

  • Transparent Pricing
  • Lots of Features
  • Easy to Use
  • Great Support
  • Efficient Performance
  • Product Maturity (Over 18 Years)
  • Free Evaluation
  • .NET Core Support (Most Products)
  • Flexible Licensing

We’re Not The Only Ones That Think We’re Great!