iText Knowledge Base

Ensuring the security of our sensitive information has become more crucial than ever before. Whether you’re dealing with confidential reports, legal contracts, or important business documents, it’s vital to safeguard your PDF files from prying eyes. As a .NET application developer, you can use iTextPdf API in your C# application to password-protect your PDF files.

Introduction to iTextPdf for .NET and its Role in PDF Manipulation and Security

iTextPdf is a powerful and widely used library in C# that provides extensive capabilities for working with PDF files. It offers a comprehensive set of tools and functionalities that enable developers to manipulate, create, and secure PDF documents with ease.

One of the key features provided by iTextPdf is the ability to apply password-based security to PDF documents. With this capability, you can restrict access to your PDF files and ensure that only authorized individuals with the correct password can open and view the content.

User Password and Owner Password

iTextPdf allows you to set both the user password and the owner password for a PDF in your C# application. The user password, also known as the document open password, is used to authenticate users who want to open the PDF. On the other hand, the owner password grants additional permissions to the user, such as modifying the PDF, extracting content, or printing it.

By setting a user password, you can ensure that only individuals who possess the correct password can open the PDF. This adds an extra layer of security, especially when dealing with confidential or sensitive documents.

How to Password Protect PDF using iTextPdf for .NET?

To apply password-based security to a PDF file using iTextPdf API for .NET, you can use the PdfWriter class along with the PdfEncryptor class. Here’s an example that demonstrates how to set a user password and an owner password for a PDF:

byte[] USERPASS = System.Text.Encoding.Default.GetBytes("user");
byte[] OWNERPASS = System.Text.Encoding.Default.GetBytes("owner");

PdfReader pdfReader = new PdfReader("260kb.pdf");
WriterProperties writerProperties = new WriterProperties();
writerProperties.SetStandardEncryption(USERPASS, OWNERPASS, EncryptionConstants.ALLOW_PRINTING,EncryptionConstants.ENCRYPTION_AES_128);
PdfWriter pdfWriter = new PdfWriter(new FileStream("Protected.pdf", FileMode.Create),
PdfDocument pdfDocument = new PdfDocument(pdfReader, pdfWriter);

In the above example, we created a new Document instance and a PdfWriter instance, specifying the output stream. We then used the SetEncryption method of the PdfWriter class to set the owner password and user password. Additionally, we defined the permissions for the PDF, such as allowing printing.


iTextPdf for C# provides a robust and comprehensive solution for protecting PDF files. With its powerful features, including password-based security, encryption, and digital signatures, developers can safeguard their PDFs from unauthorized access and tampering. Leverage iTextPdf to fortify your PDFs and ensure the confidentiality and integrity of your valuable documents.

Interested in knowing more about working with iTextPdf in C#? Check these examples and build your expertise for working with iTextPdf for API in .NET.