Vanilla.PDF  2.0.0
Cross-platform toolkit for creating and modifying PDF documents
c_document_encryption_settings.h File Reference

This file contains class definitions for DocumentEncryptionSettingsHandle. More...

Go to the source code of this file.

Enumerations

enum  UserAccessPermissionFlags {
  UserAccessPermissionFlag_None = 0 , UserAccessPermissionFlag_PrintDegraded = 4 , UserAccessPermissionFlag_ModifyContents = 8 , UserAccessPermissionFlag_CopyAndExtract = 16 ,
  UserAccessPermissionFlag_AddAnnotations = 32 , UserAccessPermissionFlag_FillForms = 256 , UserAccessPermissionFlag_ExtractText = 512 , UserAccessPermissionFlag_AssembleDocument = 1024 ,
  UserAccessPermissionFlag_PrintFaithful = 2048
}
 Available user access permission flags for the encrypted document. More...
 
enum  EncryptionAlgorithmType { EncryptionAlgorithmType_Undefined = 0 , EncryptionAlgorithmType_None , EncryptionAlgorithmType_RC4 , EncryptionAlgorithmType_AES }
 Algorithm to be used for document encryption. More...
 

Detailed Description

This file contains class definitions for DocumentEncryptionSettingsHandle.

Enumeration Type Documentation

◆ UserAccessPermissionFlags

Available user access permission flags for the encrypted document.

Enumerator
UserAccessPermissionFlag_None 

No actions are allowed for the user.

UserAccessPermissionFlag_PrintDegraded 

(Security handlers of revision 2) Print the document.

(Security handlers of revision 3 or greater) Print the document (possibly not at the highest quality level, depending on whether bit 12 is also set).

UserAccessPermissionFlag_ModifyContents 

Modify the contents of the document by operations other than those controlled by bits 6, 9, and 11.

UserAccessPermissionFlag_CopyAndExtract 

(Security handlers of revision 2) 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).

(Security handlers of revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other than that controlled by bit 10.

UserAccessPermissionFlag_AddAnnotations 

Add or modify text annotations, fill in interactive form fields, and, if bit 4 is also set, create or modify interactive form fields (including signature fields).

UserAccessPermissionFlag_FillForms 

(Security handlers of revision 3 or greater) Fill in existing interactive form fields (including signature fields), even if bit 6 is clear.

UserAccessPermissionFlag_ExtractText 

(Security handlers of revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes).

UserAccessPermissionFlag_AssembleDocument 

(Security handlers of revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if bit 4 is clear.

UserAccessPermissionFlag_PrintFaithful 

(Security handlers of revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this bit is clear (and bit 3 is set), printing is limited to a low-level representation of the appearance, possibly of degraded quality.

◆ EncryptionAlgorithmType

Algorithm to be used for document encryption.

Enumerator
EncryptionAlgorithmType_Undefined 

Undefined unitialized default value, triggers error when used.

EncryptionAlgorithmType_None 

The application shall not decrypt data but shall direct the input stream to the security handler for decryption.

EncryptionAlgorithmType_RC4 

A proprietary encryption algorithm known as RC4. RC4 is a symmetric stream cipher: the same algorithm shall be used for both encryption and decryption, and the algorithm does not change the length of the data. RC4 is a copyrighted, proprietary algorithm of RSA Security, Inc. Independent software vendors may be required to license RC4 to develop software that encrypts or decrypts PDF documents. For further information, visit the RSA Web site at http://www.rsasecurity.com or send e-mail to produ.nosp@m.cts@.nosp@m.rsase.nosp@m.curi.nosp@m.ty.co.nosp@m.m.

EncryptionAlgorithmType_AES 

The AES (Advanced Encryption Standard) algorithm (beginning with PDF 1.6). AES is a symmetric block cipher: the same algorithm shall be used for both encryption and decryption, and the length of the data when encrypted is rounded up to a multiple of the block size, which is fixed to always be 16 bytes, as specified in FIPS 197, Advanced Encryption Standard (AES); see the Bibliography).