Skip to content

# PDFAesSecurityHandler

Namespace: O2S.Components.PDF4NET.Core.Security

Defines a PDF security handler that uses AES encryption.

    public class PDFAesSecurityHandler : PDFStandardSecurityHandler

Inheritance Object → PDFSecurityHandler → PDFStandardSecurityHandler → PDFAesSecurityHandler

## Constructors

### PDFAesSecurityHandler()

Initializes a new PDFAesSecurityHandler object.

    public PDFAesSecurityHandler()

Remarks

Default encryption is set to AES 128bit.

## Properties

### EnableAnnotationsAndFieldsEdit

Gets or sets a value indicating whether the user can edit the annotations and form fields.

    public bool EnableAnnotationsAndFieldsEdit { get; set; }

Property Value

Boolean
True if the user can edit the annotations and form fields.

Remarks

If true, the user can add or modify text annotations, fill in interactive form fields, and, if property PDFStandardSecurityHandler.EnableDocumentChange is also set, create or modify interactive form fields (including signature fields).

### EnableContentExtraction

Gets or sets a value indicating whether the user can extract the content of the document.

    public bool EnableContentExtraction { get; set; }

Property Value

Boolean
If true, the user can copy or otherwise extract text and graphics from the document, including extracting text and graphics (in support of accessibility to users with disabilities or for other purposes).

Remarks

If the security handler uses a 128bit key, the user can copy or otherwise extract text and graphics from the document by operations other than that controlled by property PDFStandardSecurityHandler.EnableContentExtractionForAccessibility.

### EnableContentExtractionForAccessibility

Gets or sets a value indicating whether the user can extract the content of the document in support of accessibility.

    public bool EnableContentExtractionForAccessibility { get; set; }

Property Value

Boolean
If true, the user can extract text and graphics (in support of accessibility to users with disabilities or for other purposes).

Remarks

This property is valid only for security handlers that use 128 bit keys.

### EnableDocumentAssembly

Gets or sets a value indicating whether the user can assemble the document.

    public bool EnableDocumentAssembly { get; set; }

Property Value

Boolean
if true, the user can assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even property PDFStandardSecurityHandler.EnableDocumentChange is not set.

Remarks

This property is valid only for security handlers that use 128 bit keys.

### EnableDocumentChange

Gets or sets a value indicating whether the user can modify the contents of the document.

    public bool EnableDocumentChange { get; set; }

Property Value

Boolean
True if the user can modify the document, otherwise false.

Remarks

This property controls the modification of the document contents by operations other than those controlled by properties: PDFStandardSecurityHandler.EnableAnnotationsAndFieldsEdit, PDFStandardSecurityHandler.EnableFormsFill, PDFStandardSecurityHandler.EnableDocumentAssembly.

### EnableFormsFill

Gets or sets a value indicating whether the user can fill in form fields.

    public bool EnableFormsFill { get; set; }

Property Value

Boolean
If true, the user can fill in existing interactive form fields (including signature fields), even if property PDFStandardSecurityHandler.EnableAnnotationsAndFieldsEdit is not set.

Remarks

This property is valid only for security handlers that use 128 bit keys.

### EnablePrint

Gets or sets a value indicating whether the user can print the document.

    public bool EnablePrint { get; set; }

Property Value

Boolean
True if the user can print the document, otherwise false.

### EncryptMetadata

Gets or sets a value indicatig whether the document-level metadata stream is to be encrypted.

    public bool EncryptMetadata { get; set; }

Property Value

Boolean
True if the metadata is encrypted, otherwise false.

### HighQualityPrint

Gets or sets a value indicating whether the document is printed in high quality.

    public bool HighQualityPrint { get; set; }

Property Value

Boolean
True if the document is printed in high quality, otherwise false.

### KeySize

Gets or sets the size, in bits, of the secret key used by the security handler.

    public int KeySize { get; set; }

Property Value

Int32
The size, in bits, of the secret key used by the security handler.

Remarks

AES support only 128bit and 256bit key sizes.

### OwnerPassword

Gets or sets the owner password.

    public string OwnerPassword { get; set; }

Property Value

String
Password required to modofy the security settings of the PDF file.

### UseEnhancedPasswordValidation

Gets or sets a value indicating whether enhanced password validation is activated.

    public bool UseEnhancedPasswordValidation { get; set; }

Property Value

Boolean
If true then enhanced password validation method is activated.

Remarks

PDF files encrypted with this option require Adobe Reader X or later.

### UserPassword

Gets or sets the user password.

    public string UserPassword { get; set; }

Property Value

String
Password required to open the file.