Back to Devexpress

PdfEncryptionOptions.PrintingPermissions Property

officefileapi-devexpress-dot-pdf-dot-pdfencryptionoptions-30cf9b3d.md

latest8.0 KB
Original Source

PdfEncryptionOptions.PrintingPermissions Property

Specifies the permissions on printing operations.

Namespace : DevExpress.Pdf

Assembly : DevExpress.Pdf.v25.2.Core.dll

NuGet Package : DevExpress.Pdf.Core

Declaration

csharp
public PdfDocumentPrintingPermissions PrintingPermissions { get; set; }
vb
Public Property PrintingPermissions As PdfDocumentPrintingPermissions

Property Value

TypeDescription
PdfDocumentPrintingPermissions

A PdfDocumentPrintingPermissions enumeration value.

|

Available values:

NameDescription
NotAllowed

Prohibit document printing.

| | LowQuality |

Prohibit document printing at the highest quality level.

| | Allowed |

Permit document printing.

|

Property Paths

You can access this nested property as listed below:

Object TypePath to PrintingPermissions
PdfSaveOptions

.EncryptionOptions .PrintingPermissions

|

Remarks

This property can be set to the one of the following values: PdfDocumentPrintingPermissions.Allowed, PdfDocumentPrintingPermissions.LowQuality and PdfDocumentPrintingPermissions.NotAllowed.

To restrict 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 printing permissions using the PrintingPermissions property.

The owner password allows a user to have full access to a document.

Note

The restrictions on data extraction, data modification, interactive, or printing operations with a PDF document can’t be applied without the owner password.

For more information, see the Document Protection topic.

Example

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

View Example

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

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

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.

pdf-document-api-protect-document-with-password/CS/PDFPasswordProtection/Program.cs#L15

csharp
PdfEncryptionOptions encryptionOptions = new PdfEncryptionOptions();
encryptionOptions.PrintingPermissions = PdfDocumentPrintingPermissions.Allowed;
encryptionOptions.DataExtractionPermissions = PdfDocumentDataExtractionPermissions.NotAllowed;

pdf-document-api-protect-document-with-password/VB/PDFPasswordProtection/Program.vb#L14

vb
Dim encryptionOptions As DevExpress.Pdf.PdfEncryptionOptions = New DevExpress.Pdf.PdfEncryptionOptions()
encryptionOptions.PrintingPermissions = DevExpress.Pdf.PdfDocumentPrintingPermissions.Allowed
encryptionOptions.DataExtractionPermissions = DevExpress.Pdf.PdfDocumentDataExtractionPermissions.NotAllowed

See Also

PdfEncryptionOptions Class

PdfEncryptionOptions Members

DevExpress.Pdf Namespace