This module uses the DevExpress PDF Document API to encrypt PDF documents. You can process the sample file or supply your own document. To do the latter, select Upload a File from the file selection drop-down menu.
Specify the owner and user passwords and select the encryption type. In the Document Permission Settings panel, specify the permitted actions. Click Encrypt Document to encrypt the document and download the result.
using DevExpress.Pdf;
Stream Encrypt(Stream documentStream, PdfEncryptionAlgorithm algorithm,
PdfDocumentDataExtractionPermissions dataExtractionPermissions, PdfDocumentInteractivityPermissions interactivityPermissions,
PdfDocumentModificationPermissions modificationPermissions, PdfDocumentPrintingPermissions printingPermissions,
string ownerPassword, string userPassword) {
using var processor = new PdfDocumentProcessor();
processor.LoadDocument(documentStream);
var outputStream = new MemoryStream();
processor.SaveDocument(
outputStream,
new PdfSaveOptions() {
EncryptionOptions =
new PdfEncryptionOptions() {
Algorithm = algorithm,
DataExtractionPermissions = dataExtractionPermissions,
InteractivityPermissions = interactivityPermissions,
ModificationPermissions = modificationPermissions,
OwnerPasswordString = ownerPassword,
PrintingPermissions = printingPermissions,
UserPasswordString = userPassword
}
});
outputStream.Position = 0;
return outputStream;
}