.NET Framework 4.5.2+
.NET Framework 4.5.2+
.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.v21.2.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.

Refer to the following topic fro more information: Document Protection

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 });
        }
    }
  }
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the PdfEncryptionOptions class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

Inheritance

Object
PdfEncryptionOptions
See Also