Articles in this section
Category / Section

How to set the created PDF file to read only in C# and VB.NET?

2 mins read

The Syncfusion Essential PDF is a feature-rich and high-performance .NET PDF library used to create, read, and edit PDF documents programmatically without Adobe dependencies. This library also offers functionality to merge, split, stamp, forms, compress, and secure PDF files.

Using this library, you can secure a PDF document by providing the Security details to it in C# and VB.NET. This sample uses the following PDF document and explains how to make it read only.

Secure the PDF document

Steps to secure an existing PDF document programmatically in C#:

  1. Create a C# console application project. Create a console application in Visual Studio
  2. Install the Syncfusion.Pdf.WinForms NuGet package as a reference to your .NET Framework application from Refer NuGet package to the project
  3. Syncfusion Essential PDF supports different security options like encryption Algorithm, KeySize, OwnerPassword, Permissions, and UserPassword.


//Set the documents permission settings
PdfSecurity security = loadedDocument.Security;
security.Algorithm = PdfEncryptionAlgorithm.AES;
security.KeySize = PdfEncryptionKeySize.Key128Bit;
security.OwnerPassword = "Syncfusion";
security.Permissions = PdfPermissionsFlags.EditAnnotations | PdfPermissionsFlags.Print;
security.UserPassword = "123";



'Set the documents permission settings
Dim security As PdfSecurity = loadedDocument.Security
security.Algorithm = PdfEncryptionAlgorithm.AES
security.KeySize = PdfEncryptionKeySize.Key128Bit
security.OwnerPassword = "Syncfusion"
security.Permissions = PdfPermissionsFlags.EditAnnotations Or PdfPermissionsFlags.Print
security.UserPassword = "123"


  1. Include the following namespaces in Program.cs file.


using Syncfusion.Pdf.Parsing;
using Syncfusion.Pdf.Security;



Imports Syncfusion.Pdf.Parsing
Imports Syncfusion.Pdf.Security


  1. Include the following complete code snippet in main method of Program.cs file to secure an existing PDF document.


//Load an existing PDF document
PdfLoadedDocument loadedDocument = new PdfLoadedDocument("PdfTemplate.pdf");
//Provide security details to PDF
PdfSecurity security = loadedDocument.Security;
security.OwnerPassword = "Syncfusion";
security.Permissions = PdfPermissionsFlags.Default;
//Save the PDF document
//Close the instance of PdfLoadedDocument



'Load an existing PDF document
Dim loadedDocument As PdfLoadedDocument = New PdfLoadedDocument("PdfTemplate.pdf")
'Provide security details to PDF
Dim security As PdfSecurity = loadedDocument.Security
security.OwnerPassword = "Syncfusion"
security.Permissions = PdfPermissionsFlags.Default
'Save the PDF document
'Close the instance of PdfLoadedDocument


A complete work sample to set the created PDF document to read only can be downloaded from

By executing the program, you will get the secured PDF document as follows.

Secured PDF document

You can also secure a new PDF document by providing the same security options.


//Create a new PDF document
PdfDocument document = new PdfDocument();
//Set the documents permission settings
PdfSecurity security = document.Security;
security.Algorithm = PdfEncryptionAlgorithm.AES;
security.OwnerPassword = "Syncfusion";



'Create a New PDF document
Dim document As PdfDocument = New PdfDocument
'Set the documents permission settings
Dim security As PdfSecurity = document.Security
security.Algorithm = PdfEncryptionAlgorithm.AES
security.OwnerPassword = "Syncfusion"


Take a moment to peruse the documentation, where you will find other options like working with RC4 and AES encryptions, changing the password, changing the permission, remove user password, and more.

Click here to explore the rich set of Syncfusion Essential PDF features.

An online sample link to encrypt a PDF document.


Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.


Did you find this information helpful?
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment