Foxit PDF SDK
foxit::addon::ConnectedPDF Class Reference
Inheritance diagram for foxit::addon::ConnectedPDF:
foxit::Base

Classes

class  ClientInfo
 Structure that represents the client information which is used to apply for a client ID from ConnectedPDF server. More...
 

Public Types

enum  EncryptType { e_EncryptTypeAES = 1, e_EncryptTypeSM4CBC = 2 }
 Enumeration for encryption mode. More...
 

Public Member Functions

 ConnectedPDF (const char *clientid, const char *user_token, const char *content_key, addon::ConnectedPDF::EncryptType type, const char *file_path)
 Constructor, with parameters and from an existing PDF file path. More...
 
 ConnectedPDF (const char *clientid, const char *user_token, const char *content_key, addon::ConnectedPDF::EncryptType type, const wchar_t *file_path)
 Constructor, with parameters and from an existing PDF file path. More...
 
 ConnectedPDF (const char *clientid, const char *user_token, const char *content_key, addon::ConnectedPDF::EncryptType type, foxit::common::file::ReaderCallback *file_read)
 Constructor, with parameters and a common::file::ReaderCallback object. More...
 
 ConnectedPDF (const foxit::String &clientid, const foxit::String &user_token, const foxit::String &content_key, addon::ConnectedPDF::EncryptType type, const foxit::pdf::PDFDoc &document)
 Constructor, with parameters and a PDF document object. More...
 
 ConnectedPDF (const ConnectedPDF &connected_pdf)
 Constructor, with another ConnectedPDF object. More...
 
 ~ConnectedPDF ()
 Destructor function.
 
foxit::ErrorCode ConvertToCDRM (const char *endpoint, const char *wrapper_path, const char *file_name)
 Convert the loaded document to a ConnectedPDF DRM document. More...
 
foxit::ErrorCode ConvertToCDRM (const char *endpoint, const wchar_t *wrapper_path, const wchar_t *file_name)
 Convert the loaded document to a ConnectedPDF DRM document. More...
 
foxit::ErrorCode ConvertToCDRM (const char *endpoint, foxit::common::file::ReaderCallback *wrapper_file_read, const char *file_name)
 Convert the loaded document to a ConnectedPDF DRM document. More...
 
foxit::ErrorCode ConvertToCDRM (const char *endpoint, foxit::common::file::ReaderCallback *wrapper_file_read, const wchar_t *file_name)
 Convert the loaded document to a ConnectedPDF DRM document. More...
 
foxit::ErrorCode ConvertToCPDF (const char *endpoint, const char *file_name)
 Convert the loaded document to a ConnectedPDF document. More...
 
foxit::ErrorCode ConvertToCPDF (const char *endpoint, const wchar_t *file_name)
 Convert the loaded document to a ConnectedPDF document. More...
 
String GetACL ()
 Get ACL of a ConnectedPDF DRM document. More...
 
String GetContentKey ()
 Get the content key if the loaded document is a ConnectedPDF DRM document. More...
 
foxit::pdf::PDFDoc GetDocument ()
 Get the associated PDF document object. More...
 
String GetDocURI ()
 Get the ConnectedPDF document URI from the loaded document. More...
 
String GetEndpoint ()
 Get the ConnectedPDF document endpoint from the loaded document. More...
 
String GetOwnerEmail ()
 Get the ConnectedPDF document owner email. More...
 
String GetOwnerName ()
 Get the ConnectedPDF document owner name. More...
 
String GetUserToken ()
 Get the user token. More...
 
String GetVersionID ()
 Get the ConnectedPDF document version ID from the loaded document. More...
 
bool IsCDRM ()
 Check whether the loaded document is a ConnectedPDF DRM document or not. More...
 
bool IsCPDF ()
 Check whether the loaded document is a ConnectedPDF document or not. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool IsOwner ()
 Check whether current user is the owner. More...
 
bool operator!= (const ConnectedPDF &other) const
 Not equal operator. More...
 
ConnectedPDFoperator= (const ConnectedPDF &other)
 Assign operator. More...
 
bool operator== (const ConnectedPDF &other) const
 Equal operator. More...
 
String RefreshVersionID ()
 Refresh the ConnectedPDF document version ID from the loaded document. More...
 
foxit::ErrorCode RemoveCDRM ()
 Remove the ConnectedPDF DRM protection of a ConnectedPDF document. More...
 
bool SaveAs (const char *file_path)
 Save the current ConnectedPDF document as another PDF file. More...
 
bool SaveAs (foxit::common::file::WriterCallback *file_write)
 Save the current ConnectedPDF document as another PDF file. More...
 
foxit::ErrorCode SetACL (const String &acl)
 Set ACL of a ConnectedPDF DRM document. More...
 
void SetUserToken (const String &user_token)
 Set the user token to switch it. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Static Public Member Functions

static String GetClientIDFromServer (const char *endpoint, ClientInfo *client_info)
 Apply for a client id from ConnectedPDF server using the input client info. More...
 
static String GetDocURI (const char *file_path)
 Get the ConnectedPDF document URI from the PDF path. More...
 
static String GetUserTokenFromServer (const char *endpoint, const String &user_email, const String &password)
 Get the user token from ConnectedPDF server. More...
 

Detailed Description

Class ConnectedPDF offers following functions,

  • Convert a normal PDF document to a ConnectedPDF document.
  • Convert a normal PDF document or a ConnectedPDF document to a ConnectedPDF DRM document.
  • Decrypt and configure the ACL of ConnectedPDF DRM.

Member Enumeration Documentation

◆ EncryptType

Enumeration for encryption mode.

Values of this enumeration should be used alone.

Enumerator
e_EncryptTypeAES 

AES encryption algorithm.

e_EncryptTypeSM4CBC 

SM4 electronic codebook mode.

Constructor & Destructor Documentation

◆ ConnectedPDF() [1/5]

foxit::addon::ConnectedPDF::ConnectedPDF ( const char *  clientid,
const char *  user_token,
const char *  content_key,
addon::ConnectedPDF::EncryptType  type,
const char *  file_path 
)

Constructor, with parameters and from an existing PDF file path.

A ConnectedPDF object can be constructed to load a normal PDF document, or a ConnectedPDF document, or a ConnectedPDF DRM document. If current document is a normal PDF document, it can be converted to a ConnectedPDF document or a ConnectedPDF DRM document. If current document is a ConnectedPDF document, it can be convert to a ConnectedPDF DRM document.

Parameters
[in]clientidA client ID whcih is created by function ConnectedPDF::GetClientIDFromServer.
[in]user_tokenA user token is created by function ConnectedPDF::GetUserTokenFromServer.
[in]content_keyIf the client has cached the content key, just input the cached key to decrypt ConnectedPDF DRM document. Otherwise, set content_key with an empty string, and ConnectedPDF object will apply for the content key from server.
[in]typeEncryption algorithm. Please refer to values starting from ConnectedPDF::e_EncryptTypeAES and this should be one of these values.
[in]file_pathA path of an existing PDF file.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this constructor will throw exception foxit::e_ErrInvalidLicense.

◆ ConnectedPDF() [2/5]

foxit::addon::ConnectedPDF::ConnectedPDF ( const char *  clientid,
const char *  user_token,
const char *  content_key,
addon::ConnectedPDF::EncryptType  type,
const wchar_t *  file_path 
)

Constructor, with parameters and from an existing PDF file path.

A ConnectedPDF object can be constructed to load a normal PDF document, or a ConnectedPDF document, or a ConnectedPDF DRM document. If current document is a normal PDF document, it can be converted to a ConnectedPDF document or a ConnectedPDF DRM document. If current document is a ConnectedPDF document, it can be convert to a ConnectedPDF DRM document.

Parameters
[in]clientidA client ID whcih is created by function ConnectedPDF::GetClientIDFromServer.
[in]user_tokenA user token is created by function ConnectedPDF::GetUserTokenFromServer.
[in]content_keyIf the client has cached the content key, just input the cached key to decrypt ConnectedPDF DRM document. Otherwise, set content_key with an empty string, and ConnectedPDF object will apply for the content key from server.
[in]typeEncryption algorithm. Please refer to values starting from ConnectedPDF::e_EncryptTypeAES and this should be one of these values.
[in]file_pathA path of an existing PDF file.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this constructor will throw exception foxit::e_ErrInvalidLicense.

◆ ConnectedPDF() [3/5]

foxit::addon::ConnectedPDF::ConnectedPDF ( const char *  clientid,
const char *  user_token,
const char *  content_key,
addon::ConnectedPDF::EncryptType  type,
foxit::common::file::ReaderCallback file_read 
)

Constructor, with parameters and a common::file::ReaderCallback object.

A ConnectedPDF object can be constructed to load a normal PDF document, or a ConnectedPDF document, or a ConnectedPDF DRM document. If current document is a normal PDF document, it can be converted to a ConnectedPDF document or a ConnectedPDF DRM document. If current document is a ConnectedPDF document, it can be convert to a ConnectedPDF DRM document.

Parameters
[in]clientidA client ID whcih is created by function ConnectedPDF::GetClientIDFromServer.
[in]user_tokenA user token is created by function ConnectedPDF::GetUserTokenFromServer.
[in]content_keyIf the client has cached the content key, just input the cached key to decrypt ConnectedPDF DRM document. Otherwise, set content_key with an empty string, and ConnectedPDF object will apply for the content key from server.
[in]typeEncryption algorithm. Please refer to values starting from ConnectedPDF::e_EncryptTypeAES and this should be one of these values.
[in]file_readA common::file::ReaderCallback object which is implemented by user to load a PDF document. It should not be NULL.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this constructor will throw exception foxit::e_ErrInvalidLicense.

◆ ConnectedPDF() [4/5]

foxit::addon::ConnectedPDF::ConnectedPDF ( const foxit::String clientid,
const foxit::String user_token,
const foxit::String content_key,
addon::ConnectedPDF::EncryptType  type,
const foxit::pdf::PDFDoc document 
)

Constructor, with parameters and a PDF document object.

The constructed ConnectedPDF object can be converted to a ConnectedPDF document or a ConnectedPDF DRM document.

Parameters
[in]clientidA client ID whcih is created by function ConnectedPDF::GetClientIDFromServer.
[in]user_tokenA user token is created by function ConnectedPDF::GetUserTokenFromServer.
[in]content_keyIf the client has cached the content key, just input the cached key to decrypt ConnectedPDF DRM document. Otherwise, set content_key as NULL, and ConnectedPDF object will apply for the content key from server.
[in]typeEncryption algorithm. Please refer to values starting from ConnectedPDF::e_EncryptTypeAES and this should be one of these values.
[in]documentA valid PDF document object which represents a normal PDF document.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this constructor will throw exception foxit::e_ErrInvalidLicense.

◆ ConnectedPDF() [5/5]

foxit::addon::ConnectedPDF::ConnectedPDF ( const ConnectedPDF connected_pdf)

Constructor, with another ConnectedPDF object.

Parameters
[in]connected_pdfAnother ConnectedPDF object

Member Function Documentation

◆ ConvertToCDRM() [1/4]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCDRM ( const char *  endpoint,
const char *  wrapper_path,
const char *  file_name 
)

Convert the loaded document to a ConnectedPDF DRM document.

When the loaded document is converted to a ConnectedPDF DRM document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]wrapper_pathA path of an existing PDF file.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCDRM means the loaded document has been a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ ConvertToCDRM() [2/4]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCDRM ( const char *  endpoint,
const wchar_t *  wrapper_path,
const wchar_t *  file_name 
)

Convert the loaded document to a ConnectedPDF DRM document.

When the loaded document is converted to a ConnectedPDF DRM document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]wrapper_pathA path of an existing PDF file.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCDRM means the loaded document has been a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ ConvertToCDRM() [3/4]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCDRM ( const char *  endpoint,
foxit::common::file::ReaderCallback wrapper_file_read,
const char *  file_name 
)

Convert the loaded document to a ConnectedPDF DRM document.

When the loaded document is converted to a ConnectedPDF DRM document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]wrapper_file_readA common::file::ReaderCallback object which is implemented by user to save a PDF document.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCDRM means the loaded document has been a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ ConvertToCDRM() [4/4]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCDRM ( const char *  endpoint,
foxit::common::file::ReaderCallback wrapper_file_read,
const wchar_t *  file_name 
)

Convert the loaded document to a ConnectedPDF DRM document.

When the loaded document is converted to a ConnectedPDF DRM document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]wrapper_file_readA common::file::ReaderCallback object which is implemented by user to save a PDF document.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCDRM means the loaded document has been a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ ConvertToCPDF() [1/2]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCPDF ( const char *  endpoint,
const char *  file_name 
)

Convert the loaded document to a ConnectedPDF document.

When the loaded document is converted to a ConnectedPDF document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCPDF means the loaded document has been a ConnectedPDF document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ ConvertToCPDF() [2/2]

foxit::ErrorCode foxit::addon::ConnectedPDF::ConvertToCPDF ( const char *  endpoint,
const wchar_t *  file_name 
)

Convert the loaded document to a ConnectedPDF document.

When the loaded document is converted to a ConnectedPDF document, please use function ConnectedPDF::SaveAs to save it.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]file_nameThe file name used by ConnectedPDF server. If this is an empty string, "Unknown.pdf" will be used as the file name by default
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrIsAlreadyCPDF means the loaded document has been a ConnectedPDF document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ GetACL()

String foxit::addon::ConnectedPDF::GetACL ( )

Get ACL of a ConnectedPDF DRM document.

The owner can get all the user's ACL; otherwise, the current user can get its own ACL. If the loaded document is not a ConnectedPDF DRM document, this function will throw exception foxit::e_ErrNotCDRM.

Returns
The ACL data string. The data is a JSON string. The JSON string is an array of all the user's ACL. Every element of the array is one user's ACL. The format is described as follows,
[
  {
    Control the specified pages to be hidden.
    "accessPages" :
    {
      The page indexes to be hidden. For example, [ 1, [2,10],12 ].
      "Pages" : [],
      The content cover over the hidden pages.
      "wrapperContent" : null,
      The picture cover over the hidden pages. Cannot support now. Just leave it empty.
      "wrapperPic" : null
    },
    The PDF standard permission array. The value is hex. The values can be 4,8,10,20,100,200,400,800.
    Please refer to values starting from   for more information.
    "decodePermission" : [ 8, 10 ],
    Limit device to open the document.
    "deviceLimit" :
    {
      The devices has opened the document.
      "appList" : [],
      No more device can open the document.
      "isLimit" : 0,
      The permitted device count to open the document.
      "limitNum" : 0
    },
    Whether the ACL is for everyone or not.
    "everyone" : 0,
    Whether the user has full control permission.
    "fullControl" : 0,
    The grout ID.
    "groupID" : "",
    The grout name.
    "groupName" : "",
    Whether the ACL is for a group or not.
    "isGroup" : 0,
    Whether the ACL has been revoked.
    "isRevoke" : 0,
    Whether the user can open the document offline. 0=Never 1=By Days 2=Always.
    "offline" : 0,
    The permitted offline days.
    "offlineDuration" : 0,
    Whether set the online expiration date. 0=Never 1=By Days 2=By Date.
    "online" : 0,
    Expiration date. For example, "2017-01-01 01:59:59".
    "onlineDuration" : "",
    Expiration days.
    "onlineDurationDays" : 0,
    The PDF standard permission. The value is decimal. It's the combination of the hex values 4,8,10,20,100,200,400,800.
    Please refer to values starting from   for more information.
    "permission" : 312,
    The user info.
    "userAttribute" :
    {
      The domain the user belongs to.
      "Domain" : "",
      The user ID.
      "cUserID" : "58197659c2dcf1c7143febce",
      The user email.
      "userEmail" : "65908769@qq.com"
    }
  }
]

◆ GetClientIDFromServer()

static String foxit::addon::ConnectedPDF::GetClientIDFromServer ( const char *  endpoint,
ClientInfo client_info 
)
static

Apply for a client id from ConnectedPDF server using the input client info.

The client id represents a ConnectedPDF client running on a device. The client ID is used to create a ConnectedPDF object. It is required for converting normal PDF to ConnectedPDF. The client should apply for a client id once, then cache it and reuse it. This function may throw exception foxit::e_ErrCanNotConnectToServer.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]client_infoThe input client information used to apply for a client id from ConnectedPDF server.
Returns
The client ID string. If the returned string is not an empty string, that means success.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this function will throw exception foxit::e_ErrInvalidLicense.

◆ GetContentKey()

String foxit::addon::ConnectedPDF::GetContentKey ( )

Get the content key if the loaded document is a ConnectedPDF DRM document.

Returns
The content key of ConnectedPDF DRM document.

◆ GetDocument()

foxit::pdf::PDFDoc foxit::addon::ConnectedPDF::GetDocument ( )

Get the associated PDF document object.

The returned PDF document object can be edited. If the loaded document is a ConnectedPDF DRM document, user should save it by function ConnectedPDF::SaveAs; otherwise, the saved document will be corrupted.

Returns
The associated PDF document object.

◆ GetDocURI() [1/2]

static String foxit::addon::ConnectedPDF::GetDocURI ( const char *  file_path)
static

Get the ConnectedPDF document URI from the PDF path.

Every ConnectedPDF document or ConnectedPDF DRM document has the document URI. It is the unique identification of the ConnectedPDF document or ConnectedPDF DRM document.

Parameters
[in]file_pathA path of an existing PDF file.
Returns
The ConnectedPDF document URI. If the returned string is an empty string, that means the input document is not a valid ConnectedPDF document.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this function will throw exception foxit::e_ErrInvalidLicense.

◆ GetDocURI() [2/2]

String foxit::addon::ConnectedPDF::GetDocURI ( )

Get the ConnectedPDF document URI from the loaded document.

Returns
The ConnectedPDF document URI. If the returned string is an empty string, that means the loaded document is not a valid ConnectedPDF document.

◆ GetEndpoint()

String foxit::addon::ConnectedPDF::GetEndpoint ( )

Get the ConnectedPDF document endpoint from the loaded document.

Returns
The ConnectedPDF document endpoint. If the returned string is an empty string, that means the loaded document is not a valid ConnectedPDF document.

◆ GetOwnerEmail()

String foxit::addon::ConnectedPDF::GetOwnerEmail ( )

Get the ConnectedPDF document owner email.

Returns
The ConnectedPDF document owner email.

◆ GetOwnerName()

String foxit::addon::ConnectedPDF::GetOwnerName ( )

Get the ConnectedPDF document owner name.

Returns
The ConnectedPDF document owner name.

◆ GetUserToken()

String foxit::addon::ConnectedPDF::GetUserToken ( )

Get the user token.

Returns
The user token.

◆ GetUserTokenFromServer()

static String foxit::addon::ConnectedPDF::GetUserTokenFromServer ( const char *  endpoint,
const String user_email,
const String password 
)
static

Get the user token from ConnectedPDF server.

A user token should be gotten before accessing ConnectedPDF web service. The client can get the user token once, then cache it and reuse it. This function may throw exception foxit::e_ErrCanNotConnectToServer.

Parameters
[in]endpointThe input ConnectedPDF server host address. For example, https://www-fz02.connectedpdf.com.
[in]user_emailThe input user email.
[in]passwordThe input user password.
Returns
The user token string. If the returned string is not an empty string, that means success.
Note
If module "ConnectedPDF" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using ConnectedPDF related functions and this function will throw exception foxit::e_ErrInvalidLicense.

◆ GetVersionID()

String foxit::addon::ConnectedPDF::GetVersionID ( )

Get the ConnectedPDF document version ID from the loaded document.

Returns
The ConnectedPDF document version ID. If the returned string is an empty string, that means the loaded document is not a valid ConnectedPDF document.

◆ IsCDRM()

bool foxit::addon::ConnectedPDF::IsCDRM ( )

Check whether the loaded document is a ConnectedPDF DRM document or not.

Returns
true means the loaded document is a ConnectedPDF DRM document, while false means the loaded document is not a ConnectedPDF DRM document.

◆ IsCPDF()

bool foxit::addon::ConnectedPDF::IsCPDF ( )

Check whether the loaded document is a ConnectedPDF document or not.

Returns
true means the loaded document is a ConnectedPDF document, while false means the loaded document is not a ConnectedPDF document.

◆ IsEmpty()

bool foxit::addon::ConnectedPDF::IsEmpty ( ) const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ IsOwner()

bool foxit::addon::ConnectedPDF::IsOwner ( )

Check whether current user is the owner.

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

◆ operator!=()

bool foxit::addon::ConnectedPDF::operator!= ( const ConnectedPDF other) const

Not equal operator.

Not equal operator.

Parameters
[in]otherAnother ConnectedPDF object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

ConnectedPDF& foxit::addon::ConnectedPDF::operator= ( const ConnectedPDF other)

Assign operator.

Parameters
[in]otherAnother ConnectedPDF object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

bool foxit::addon::ConnectedPDF::operator== ( const ConnectedPDF other) const

Equal operator.

Parameters
[in]otherAnother ConnectedPDF object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

◆ RefreshVersionID()

String foxit::addon::ConnectedPDF::RefreshVersionID ( )

Refresh the ConnectedPDF document version ID from the loaded document.

Returns
The ConnectedPDF document new version ID. If the returned string is an empty string, that means the loaded document is not a valid ConnectedPDF document.

◆ RemoveCDRM()

foxit::ErrorCode foxit::addon::ConnectedPDF::RemoveCDRM ( )

Remove the ConnectedPDF DRM protection of a ConnectedPDF document.

Only the owner has the permission to remove the ConnectedPDF DRM protection. When the ConnectedPDF DRM protection is removed, function ConnectedPDF::SaveAs can be used to save it.

Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrNotCDRM means the loaded document is not a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ SaveAs() [1/2]

bool foxit::addon::ConnectedPDF::SaveAs ( const char *  file_path)

Save the current ConnectedPDF document as another PDF file.

If the loaded document is a ConnectedPDF DRM document, the document can be saved as only by this funcction; otherwise the saved document will be corrupted.

Parameters
[in]file_pathA path for the new saved PDF file. It should not be an empty string.
Returns
true means the saving is successfully finished, while false means failure.

◆ SaveAs() [2/2]

bool foxit::addon::ConnectedPDF::SaveAs ( foxit::common::file::WriterCallback file_write)

Save the current ConnectedPDF document as another PDF file.

If the loaded document is a ConnectedPDF DRM document, the document can be saved as only by this funcction; otherwise the saved document will be corrupted.

Parameters
[in]file_writeA common::file::WriterCallback object which is implemented by user to do the saving.
Returns
true means the saving is successfully finished, while false means failure.

◆ SetACL()

foxit::ErrorCode foxit::addon::ConnectedPDF::SetACL ( const String acl)

Set ACL of a ConnectedPDF DRM document.

Only the owner has the permission to set ACL. This function will revoke all the ACL of the ConnectedPDF DRM document first, and then apply the new ACL.

Parameters
[in]aclThe input ACL data. The data is a JSON string. "userList" is an array of all the user's ACL. Every element of "userList" is one user's ACL. The format is described as follows,
{
  "userList":
  [
    {
      The user email.
      "userEmail": "fz02_50@qq.com",
The grout ID. Cannot support now. Just leave it empty. "groupId": "",
Whether the ACL is for a group or not. Cannot support now. Just leave it 0. "isGroup": "0",
Whether the ACL is for everyone or not. "everyone": "0",
Whether the user has full control permission. "fullControl": "0",
The PDF standard permission array. The value is hex. The values can be 4,8,10,20,100,200,400,800. Please refer to values starting from for more information. "permission": [4],
Whether the user can open the document offline. 0=Never 1=By Days 2=Always. "offline": "0",
The permitted offline days. "offlineDays": 0,
Whether set the online expiration date. 0=Never 1=By Days 2=By Date. "online": "0",
Expiration date. For example, "2017-01-01 01:59:59". "onlineDate": "",
Expiration days. "onlineDays": "0",
The permitted device count to open the document. "deviceLimit": "0",
Control the specified pages to be hidden. "accessPages": { The content cover over the hidden pages. "wrapperContent": "",
The picture cover over the hidden pages. Cannot support now. Just leave it empty. "wrapperPic": "",
The page indexes to be hidden. For example, [ 1, [2,10],12 ]. "Pages": [0] } } ] }
Returns
foxit::e_ErrSuccess means success.
foxit::e_ErrInvalidACL means the input ACL data is invalid.
foxit::e_ErrNotCDRM means the loaded document is not a ConnectedPDF DRM document.
For other error code value, please refer to values starting from foxit::e_ErrSuccess for more details.

◆ SetUserToken()

void foxit::addon::ConnectedPDF::SetUserToken ( const String user_token)

Set the user token to switch it.

Parameters
[in]user_tokenThe input user token.
Returns
None.