Foxit PDF SDK

Public Member Functions | List of all members
foxit.pdf.DRMSecurityCallback Class Reference
Inheritance diagram for foxit.pdf.DRMSecurityCallback:

## Public Member Functions
virtual SecurityHandler.CipherType | GetCipherType (PDFDoc document, string sub_filter)
| A callback function used to get the cipher type for encryption algorithm. More...
virtual string | GetFileID (PDFDoc document, string sub_filter)
| A callback function used to get the file identity string. More...
virtual string | GetInitialKey (PDFDoc document, string sub_filter)
| A callback function used to get the initial key to decrypt the DRM protected document. More...
virtual int | GetKeyLength (PDFDoc document, string sub_filter)
| A callback function used to get the length of cipher key. More...
override PDFDoc.EncryptType | GetSecurityType ()
| Get the encryption type of security callback. More...
virtual int | GetUserPermissions (PDFDoc document, string sub_filter)
| A callback function used to get the current user permissions. More...
virtual bool | IsOwner (PDFDoc document, string sub_filter)
| A callback function used to check if current user is the owner of the PDF document. More...
Public Member Functions inherited from foxit.pdf.SecurityCallback
virtual void | Release ()
| A callback function used to release current callback object itself. More...

## Detailed Description

This class represents a callback object for Foxit DRM decryption. If user wants to use their own Foxit DRM security callback, user should inherit this callback class and implement the pure virtual functions (as callback functions), and then register their own Foxit DRM security callback object to Foxit PDF SDK by function common.Library.RegisterSecurityCallback with filter "FoxitDRM". Function common.Library.UnregisterSecurityCallback can be called to unregister the security callback object with the registered filter name.

## Member Function Documentation

## ◆ GetCipherType()

SecurityHandler.CipherType foxit.pdf.DRMSecurityCallback.GetCipherType | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to get the cipher type for encryption algorithm.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  The cipher type. Please refer to values starting from foxit.pdf.SecurityHandler.CipherType.e_CipherNone and this should be one of these values.

## ◆ GetFileID()

string foxit.pdf.DRMSecurityCallback.GetFileID | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to get the file identity string.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  The identity string, used to identify the file.

## ◆ GetInitialKey()

string foxit.pdf.DRMSecurityCallback.GetInitialKey | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to get the initial key to decrypt the DRM protected document.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  The initial key.

## ◆ GetKeyLength()

int foxit.pdf.DRMSecurityCallback.GetKeyLength | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to get the length of cipher key.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  The key length.
  For foxit.pdf.SecurityHandler.CipherType.e_CipherRC4 cipher, this value should be between 5 and 16.
  For foxit.pdf.SecurityHandler.CipherType.e_CipherAES cipher, this value should be 16 or 32.

## ◆ GetSecurityType()

override PDFDoc.EncryptType foxit.pdf.DRMSecurityCallback.GetSecurityType | ( |  | ) |
| inline virtual

Get the encryption type of security callback.

Note
  User should not override this function, otherwise there will be unexpected behavior.

Returns
  The encryption type. It would always be foxit.pdf.PDFDoc.EncryptType.e_EncryptFoxitDRM .

Reimplemented from foxit.pdf.SecurityCallback.

## ◆ GetUserPermissions()

int foxit.pdf.DRMSecurityCallback.GetUserPermissions | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to get the current user permissions.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  Current user permissions. Please refer to values starting from foxit.pdf.PDFDoc.UserPermissions.e_PermPrint and this can be one or combination of these values.

## ◆ IsOwner()

bool foxit.pdf.DRMSecurityCallback.IsOwner | ( | PDFDoc | document,
|  | string | sub_filter
| ) |  |
| inline virtual

A callback function used to check if current user is the owner of the PDF document.

Parameters

  [in] | document | A PDF document object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.

Note
  User should implement this callback function.

Returns
  true means current user is the owner of the PDF document, while false means not.