officefileapi-devexpress-dot-pdf-dot-pdfsaveoptions.md
Specifies encryption options of a PDF document.
Namespace : DevExpress.Pdf
Assembly : DevExpress.Pdf.v25.2.Core.dll
NuGet Package : DevExpress.Pdf.Core
public PdfEncryptionOptions EncryptionOptions { get; set; }
Public Property EncryptionOptions As PdfEncryptionOptions
| Type | Description |
|---|---|
| PdfEncryptionOptions |
A PdfEncryptionOptions object that represents encryption options of a PDF document.
|
To protect document opening, create a PdfEncryptionOptions object using the PdfSaveOptions.EncryptionOptions property and specify the user password using the PdfEncryptionOptions.UserPasswordString property.
To restrict the user from data extraction, data modification, interactive, or printing operations with a PDF document, create a PdfEncryptionOptions object using the PdfSaveOptions.EncryptionOptions property and specify the owner password using the PdfEncryptionOptions.OwnerPasswordString property and corresponding permissions using the PdfEncryptionOptions.DataExtractionPermissions, PdfEncryptionOptions.ModificationPermissions,PdfEncryptionOptions.InteractivityPermissions, and PdfEncryptionOptions.PrintingPermissions properties.
For more information, see the Document Protection topic.
This example shows how a PDF document can be protected using both the owner and user passwords.
Refer to the following topic for 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");
// Initialize encryption options with owner and user passwords.
PdfEncryptionOptions encryptionOptions = new PdfEncryptionOptions(
ownerPassword: "OwnerPassword",
userPassword: "UserPassword"
);
// Specify printing, data extraction, modification, and interactivity permissions.
encryptionOptions.PrintingPermissions = PdfDocumentPrintingPermissions.Allowed;
encryptionOptions.DataExtractionPermissions = PdfDocumentDataExtractionPermissions.NotAllowed;
encryptionOptions.ModificationPermissions = PdfDocumentModificationPermissions.DocumentAssembling;
encryptionOptions.InteractivityPermissions = PdfDocumentInteractivityPermissions.Allowed;
// 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 }
);
}
}
}
}
Imports DevExpress.Pdf
Module PDFPasswordProtection
Sub Main()
Using pdfDocumentProcessor As New PdfDocumentProcessor()
' Load a PDF document.
pdfDocumentProcessor.LoadDocument("..\..\Demo.pdf")
' Initialize encryption options with owner and user passwords.
Dim encryptionOptions As New PdfEncryptionOptions(
ownerPassword:="OwnerPassword",
userPassword:="UserPassword"
)
' Specify printing, data extraction, modification, and interactivity permissions.
encryptionOptions.PrintingPermissions = PdfDocumentPrintingPermissions.Allowed
encryptionOptions.DataExtractionPermissions = PdfDocumentDataExtractionPermissions.NotAllowed
encryptionOptions.ModificationPermissions = PdfDocumentModificationPermissions.DocumentAssembling
encryptionOptions.InteractivityPermissions = PdfDocumentInteractivityPermissions.Allowed
' Specify the 256-bit AES encryption algorithm.
encryptionOptions.Algorithm = PdfEncryptionAlgorithm.AES256
' Save the protected document with encryption settings.
pdfDocumentProcessor.SaveDocument(
"..\..\ProtectedDocument.pdf",
New PdfSaveOptions() With {.EncryptionOptions = encryptionOptions}
)
End Using
End Sub
End Module
See Also