Skip to main content
A newer version of this page is available. .
.NET Standard 2.0+

PdfEncryptionOptions Class

Contains settings to protect a PDF document with a password and user permissions.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v19.1.Core.dll

Declaration

public class PdfEncryptionOptions

Remarks

To restrict the user from data extraction, data modification, interactive, or printing operations with a PDF document, create a PdfEncryptionOptions object and specify corresponding permissions using PdfEncryptionOptions.DataExtractionPermissions, PdfEncryptionOptions.ModificationPermissions, PdfEncryptionOptions.InteractivityPermissions, and PdfEncryptionOptions.PrintingPermissions properties.

To allow a user to have full access to a document, specify the owner password using the PdfEncryptionOptions.OwnerPasswordString property.

In addition, the user password can be specified using the PdfEncryptionOptions.UserPasswordString property to restrict opening the document.

To specify an encryption algorithm, use the PdfEncryptionOptions.Algorithm property.

To encrypt the document with the specified settings, call the PdfDocumentProcessor.CreateEmptyDocument or PdfDocumentProcessor.SaveDocument overloaded method and pass the PdfSaveOptions object containing these settings as a parameter.

Example

This example shows how a PDF document can be protected using both the owner and user passwords.

For more information, see the Document Protection topic.

using DevExpress.Pdf;

namespace PDFPasswordProtection {
    class Program {
        static void Main(string[] args) {

            using (PdfDocumentProcessor pdfDocumentProcessor = new PdfDocumentProcessor()) {

                // Load a PDF document.
                pdfDocumentProcessor.LoadDocument("..\\..\\Demo.pdf");

                // Specify printing, data extraction, modification, and interactivity permissions. 
                PdfEncryptionOptions encryptionOptions = new PdfEncryptionOptions();
                encryptionOptions.PrintingPermissions = PdfDocumentPrintingPermissions.Allowed;
                encryptionOptions.DataExtractionPermissions = PdfDocumentDataExtractionPermissions.NotAllowed;
                encryptionOptions.ModificationPermissions = PdfDocumentModificationPermissions.DocumentAssembling;
                encryptionOptions.InteractivityPermissions = PdfDocumentInteractivityPermissions.Allowed;

                // Specify the owner and user passwords for the document.  
                encryptionOptions.OwnerPasswordString = "OwnerPassword";
                encryptionOptions.UserPasswordString = "UserPassword";

                // Specify the 256-bit AES encryption algorithm.
                encryptionOptions.Algorithm = PdfEncryptionAlgorithm.AES256;

                // Save the protected document with encryption settings.  
                pdfDocumentProcessor.SaveDocument("..\\..\\ProtectedDocument.pdf", new PdfSaveOptions() { EncryptionOptions = encryptionOptions });
            }
        }
    }
}

Inheritance

Object
PdfEncryptionOptions
See Also