Foxit PDF SDK
foxit::ActionCallback Class Referenceabstract

Public Types

enum  AppInfoType {
  e_AppInfoTypeFormsVersion = 0x0, e_AppInfoTypeViewerType = 0x01, e_AppInfoTypeViewerVariation = 0x02, e_AppInfoTypeViewerVersion = 0x03,
  e_AppInfoTypeAppVersion = 0x04
}
 Enumeration for application's information type. More...
 
enum  Language {
  e_LanguageUnknown = 0, e_LanguageCHS = 1, e_LanguageCHT = 2, e_LanguageDAN = 3,
  e_LanguageDEU = 4, e_LanguageENU = 5, e_LanguageESP = 6, e_LanguageFRA = 7,
  e_LanguageITA = 8, e_LanguageKOR = 9, e_LanguageJPN = 10, e_LanguageNLD = 11,
  e_LanguageNOR = 12, e_LanguagePTB = 13, e_LanguageSUO = 14, e_LanguageSVE = 15
}
 Enumeration for language. More...
 
enum  MailType { e_MailTypeDoc = 0, e_MailTypeForm = 1, e_MailTypeMsg = 2 }
 Enumeration for data type to be mailed. More...
 

Public Member Functions

virtual int Alert (const wchar_t *msg, const wchar_t *title, int type, int icon)=0
 A callback function used to pop up a dialog to show warnings or hints. More...
 
virtual bool Beep (int type)=0
 A callback function to cause the system to play a sound. More...
 
virtual WString BrowseFile ()=0
 A callback function to show a file selection dialog, and the selected file path should be returned. More...
 
virtual bool ExecuteNamedAction (const pdf::PDFDoc &document, const char *named_action)=0
 A callback function to execute a named action. More...
 
virtual WString GetAppInfo (AppInfoType type)=0
 A callback function to get application information. More...
 
virtual int GetCurrentPage (const pdf::PDFDoc &document)=0
 A callback function used to receive current page index. More...
 
virtual bool GetDocChangeMark (const pdf::PDFDoc &document)=0
 A callback function to receive the change mark which indicates whether the content of document is changed or not. More...
 
virtual WString GetFilePath (const pdf::PDFDoc &document)=0
 A callback function to get the file path of current PDF document. More...
 
virtual IdentityProperties GetIdentityProperties ()=0
 A callback function used to get identity properties of current user. More...
 
virtual Language GetLanguage ()=0
 A callback function to get the language of the running viewer application. More...
 
virtual pdf::PDFDoc GetOpenedDoc (int index)=0
 A callback function to receive an opened PDF document object by index. More...
 
virtual int GetOpenedDocCount ()=0
 A callback function to receive the count of opened documents. More...
 
virtual common::Rotation GetPageRotation (const pdf::PDFDoc &document, int page_index)=0
 A callback function used to receive current displaying rotation of a page on PDF viewer. More...
 
virtual bool InvalidateRect (const pdf::PDFDoc &document, int page_index, const RectF &pdf_rect)=0
 A callback function to invalidate the client area within the specified rectangle. More...
 
virtual bool LaunchURL (const char *url)=0
 A callback function to launch to a specified url. More...
 
virtual bool MailData (void *data, MailType data_type, bool is_ui, const wchar_t *to, const wchar_t *subject, const wchar_t *cc, const wchar_t *bcc, const wchar_t *message)=0
 A callback function to mail data or message, with or without user interaction. More...
 
virtual WString PopupMenu (const MenuListArray &menus)=0
 A callback function to pop up a menu window. More...
 
virtual bool Print (const pdf::PDFDoc &document, bool is_ui, const common::Range &page_range, bool is_silent, bool is_shrunk_to_fit, bool is_printed_as_image, bool is_reversed, bool is_to_print_annots)=0
 A callback function to print pages within a specified index range. More...
 
virtual void Release ()=0
 A callback function used to release current callback object itself. More...
 
virtual WString Response (const wchar_t *question, const wchar_t *title, const wchar_t *default_value, const wchar_t *label, bool is_password)=0
 A callback function to display a dialog box containing a question and an entry field for the user to reply to the question. More...
 
virtual void SetCurrentPage (const pdf::PDFDoc &document, int page_index)=0
 A callback function used to set the current page by index. More...
 
virtual bool SetDocChangeMark (const pdf::PDFDoc &document, bool change_mark)=0
 A callback function to set the change mark which indicates whether the content of document is changed or not. More...
 
virtual bool SetPageRotation (const pdf::PDFDoc &document, int page_index, common::Rotation rotation)=0
 A callback function used to set the rotation value of a page on PDF viewer. More...
 
virtual bool SubmitForm (const pdf::PDFDoc &document, void *form_data, uint32 length, const char *url)=0
 A callback function to submit the form data to a specified url. More...
 

Detailed Description

This class represents a callback object for performing PDF actions. All the pure virtual functions in this class are used as callback functions and should be implemented by user, to perform PDF actions, such as javascript actions.

Member Enumeration Documentation

◆ AppInfoType

Enumeration for application's information type.

Values of this enumeration should be used alone.

Enumerator
e_AppInfoTypeFormsVersion 

Application's forms version information.

e_AppInfoTypeViewerType 

Application's viewer type information.

e_AppInfoTypeViewerVariation 

Application's viewer variation information.

e_AppInfoTypeViewerVersion 

Application's viewer version information.

e_AppInfoTypeAppVersion 

Application's app version information.

◆ Language

Enumeration for language.

Values of this enumeration should be used alone.

Enumerator
e_LanguageUnknown 

Unknown language.

e_LanguageCHS 

Chinese Simplified.

e_LanguageCHT 

Chinese Traditional.

e_LanguageDAN 

Danish.

e_LanguageDEU 

German.

e_LanguageENU 

English.

e_LanguageESP 

Spanish.

e_LanguageFRA 

French.

e_LanguageITA 

Italian.

e_LanguageKOR 

Korean.

e_LanguageJPN 

Japanese.

e_LanguageNLD 

Dutch.

e_LanguageNOR 

Norwegian.

e_LanguagePTB 

Brazilian Portuguese.

e_LanguageSUO 

Finnish.

e_LanguageSVE 

Swedish.

◆ MailType

Enumeration for data type to be mailed.

Values of this enumeration should be used alone.

Enumerator
e_MailTypeDoc 

Mailed data type: document.

e_MailTypeForm 

Mailed data type: form.

e_MailTypeMsg 

Mailed data type: string message.

Member Function Documentation

◆ Alert()

virtual int foxit::ActionCallback::Alert ( const wchar_t *  msg,
const wchar_t *  title,
int  type,
int  icon 
)
pure virtual

A callback function used to pop up a dialog to show warnings or hints.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]msgThe message string to be displayed in the dialog.
[in]titleThe title of the dialog.
[in]typeType of button group. It would be one of following values:
  • 0: OK;(default value.)
  • 1: OK, Cancel;
  • 2: Yes, NO;
  • 3: Yes, NO, Cancel.
[in]iconIcon type. It would be one of following values:
  • 0: Error;(default value.)
  • 1: Warning;
  • 2: Question;
  • 3: Status.
Returns
The return value should be one of following values:
  • 1: OK;
  • 2: Cancel;
  • 3: NO;
  • 4: Yes;

◆ Beep()

virtual bool foxit::ActionCallback::Beep ( int  type)
pure virtual

A callback function to cause the system to play a sound.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]typeSound type. The value would be on of following values:
  • 0: Error
  • 1: Warning
  • 2: Question
  • 3: Status
  • 4: Default (default value)
Returns
true means success, while false means failure.

◆ BrowseFile()

virtual WString foxit::ActionCallback::BrowseFile ( )
pure virtual

A callback function to show a file selection dialog, and the selected file path should be returned.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
The file path. It can be an empty string.

◆ ExecuteNamedAction()

virtual bool foxit::ActionCallback::ExecuteNamedAction ( const pdf::PDFDoc document,
const char *  named_action 
)
pure virtual

A callback function to execute a named action.

Please refer to description of "Named Actions" in Section 8.5.3 of <PDF Reference 1.7> for more details. This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
[in]named_actionA string to specify a named action.
Returns
true means success, while false means failure.

◆ GetAppInfo()

virtual WString foxit::ActionCallback::GetAppInfo ( AppInfoType  type)
pure virtual

A callback function to get application information.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.
For the digital information like ActionCallback::e_AppInfoTypeViewerVersion, ActionCallback::e_AppInfoTypeAppVersion and ActionCallback::e_AppInfoTypeFormsVersion, please use string to represent it.

Parameters
[in]typeType of information. Please refer to values starting from ActionCallback::e_AppInfoTypeFormsVersion and this would be one of these values.
Returns
The application information.

◆ GetCurrentPage()

virtual int foxit::ActionCallback::GetCurrentPage ( const pdf::PDFDoc document)
pure virtual

A callback function used to receive current page index.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
Returns
Current page index. The value should be stared from 0 and less than page count of the specified document.

◆ GetDocChangeMark()

virtual bool foxit::ActionCallback::GetDocChangeMark ( const pdf::PDFDoc document)
pure virtual

A callback function to receive the change mark which indicates whether the content of document is changed or not.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
Returns
true means the PDF document is changed, while false means not.

◆ GetFilePath()

virtual WString foxit::ActionCallback::GetFilePath ( const pdf::PDFDoc document)
pure virtual

A callback function to get the file path of current PDF document.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
Returns
The file path.

◆ GetIdentityProperties()

virtual IdentityProperties foxit::ActionCallback::GetIdentityProperties ( )
pure virtual

A callback function used to get identity properties of current user.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
An identity properties object that specifies the identity properties of current user.

◆ GetLanguage()

virtual Language foxit::ActionCallback::GetLanguage ( )
pure virtual

A callback function to get the language of the running viewer application.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
The language type. Please refer to values starting from ActionCallback::e_LanguageUnknown and this should be one of these values.

◆ GetOpenedDoc()

virtual pdf::PDFDoc foxit::ActionCallback::GetOpenedDoc ( int  index)
pure virtual

A callback function to receive an opened PDF document object by index.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]indexThe index of an opened PDF documents. Valid range: from 0 to count-1. countt is returned by callback function ActionCallback::GetOpenedDocCount;
Returns
A opened PDF document object.

◆ GetOpenedDocCount()

virtual int foxit::ActionCallback::GetOpenedDocCount ( )
pure virtual

A callback function to receive the count of opened documents.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
The count of opened documents.

◆ GetPageRotation()

virtual common::Rotation foxit::ActionCallback::GetPageRotation ( const pdf::PDFDoc document,
int  page_index 
)
pure virtual

A callback function used to receive current displaying rotation of a page on PDF viewer.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
[in]page_indexA page index, used to specify which page's rotation is to be retrieved. The index would start from 0 and less than page count of the specified document.
Returns
The rotation of specified page. Please refer to values starting from common::e_Rotation0 and this should be one of these values.

◆ InvalidateRect()

virtual bool foxit::ActionCallback::InvalidateRect ( const pdf::PDFDoc document,
int  page_index,
const RectF pdf_rect 
)
pure virtual

A callback function to invalidate the client area within the specified rectangle.

All positions are measured in PDF "user space". Implementation should call function common::Renderer::StartRender for repainting a specified page area.

Parameters
[in]documentA PDF document object. It would be valid.
[in]page_indexA page index. It would start from 0 and less than page count of the specified document.
[in]pdf_rectA rectangle that specifies the page area in PDF coordinate system.
Returns
true means success, while false means failure.

◆ LaunchURL()

virtual bool foxit::ActionCallback::LaunchURL ( const char *  url)
pure virtual

A callback function to launch to a specified url.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]urlA url.
Returns
true means success, while false means failure.

◆ MailData()

virtual bool foxit::ActionCallback::MailData ( void *  data,
MailType  data_type,
bool  is_ui,
const wchar_t *  to,
const wchar_t *  subject,
const wchar_t *  cc,
const wchar_t *  bcc,
const wchar_t *  message 
)
pure virtual

A callback function to mail data or message, with or without user interaction.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]dataA data which is to be mailed. The value and type of the data depends on parameter data_type:
[in]data_typeMail type. Please refer to values starting from ActionCallback::e_MailTypeDoc and this would be one of these values.
[in]is_uitrue means that the remaining parameters are used to seed the compose-new-message window which is displayed to the user.
false means that the parameter to is required and all other parameters are optional.
[in]toA string that specifies a semicolon-delimited list of recipients for the message.
[in]subjectA string that specifies the subject of the message. The limit of this string's length is 64 KB.
[in]ccA string that specifies a semicolon-delimited list of CC recipients for the message.
[in]bccA string that specifies a semicolon-delimited list of BCC recipients for the message.
[in]messageA string that specifies the content of the message. The limit of this string's length is 64 KB.
Returns
true means success, while false means failure.

◆ PopupMenu()

virtual WString foxit::ActionCallback::PopupMenu ( const MenuListArray menus)
pure virtual

A callback function to pop up a menu window.

The position of menu window is same as cursor's. This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]menusAn array of menu list objects.
Returns
The name of the menu item that was selected.

◆ Print()

virtual bool foxit::ActionCallback::Print ( const pdf::PDFDoc document,
bool  is_ui,
const common::Range page_range,
bool  is_silent,
bool  is_shrunk_to_fit,
bool  is_printed_as_image,
bool  is_reversed,
bool  is_to_print_annots 
)
pure virtual

A callback function to print pages within a specified index range.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
[in]is_uitrue means that a UI should be presented to the user to obtain printing information and confirm the action.
[in]page_rangeA range object to specify the page range for printing. All the indexes represented in this range would start from 0 and less than page count of the specified document.
[in]is_silenttrue means that the cancel dialog box should be suppressed while the document is printing.
[in]is_shrunk_to_fittrue means that the page should be shrunk (if necessary) to fit within the area of the printed page.
[in]is_printed_as_imagetrue means that pages should be printed as image.
[in]is_reversedtrue means that the printing order should be from parameter end to parameter start.
[in]is_to_print_annotstrue means that annotations should be printed with page.
Returns
true means success, while false means failure.

◆ Release()

virtual void foxit::ActionCallback::Release ( )
pure virtual

A callback function used to release current callback object itself.

Returns
None.

◆ Response()

virtual WString foxit::ActionCallback::Response ( const wchar_t *  question,
const wchar_t *  title,
const wchar_t *  default_value,
const wchar_t *  label,
bool  is_password 
)
pure virtual

A callback function to display a dialog box containing a question and an entry field for the user to reply to the question.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]questionA string that specifies the question to be posed to the user.
[in]titleA string that specifies the title of the dialog box.
[in]default_valueA string that specifies a default value as the answer to the question. If the answer is not specified, no default value is presented.
[in]labelA string that specifies a short string to appear in front of the edit text field.
[in]is_passwordA boolean value that indicates whether user's response should be masked to show:
true means that the user's response should show as asterisks (*) or bullets (?) to mask the response, which might be sensitive information.
Default: false.
Returns
User's response. It can be an empty string.

◆ SetCurrentPage()

virtual void foxit::ActionCallback::SetCurrentPage ( const pdf::PDFDoc document,
int  page_index 
)
pure virtual

A callback function used to set the current page by index.

This callback function is optional, so it can be implemented to do nothing.

Parameters
[in]documentA PDF document object. It would be valid.
[in]page_indexA page index which is used to change current page. The index would start from 0 and less than page count of the specified document.
Returns
None.

◆ SetDocChangeMark()

virtual bool foxit::ActionCallback::SetDocChangeMark ( const pdf::PDFDoc document,
bool  change_mark 
)
pure virtual

A callback function to set the change mark which indicates whether the content of document is changed or not.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
[in]change_markA boolean value that indicates whether the content of document is changed or not.
Returns
true means success, while false means failure.

◆ SetPageRotation()

virtual bool foxit::ActionCallback::SetPageRotation ( const pdf::PDFDoc document,
int  page_index,
common::Rotation  rotation 
)
pure virtual

A callback function used to set the rotation value of a page on PDF viewer.

This callback function is optional, so it can be implemented to do nothing.

Parameters
[in]documentA PDF document object. It would be valid.
[in]page_indexA page index, used to specify which page's rotation is to be changed. The index would start from 0 and less than page count of the specified document.
[in]rotationNew rotation value. Please refer to values starting from common::e_Rotation0 and this should be one of these values except common::e_RotationUnknown.
Returns
true means success, while false means failure.

◆ SubmitForm()

virtual bool foxit::ActionCallback::SubmitForm ( const pdf::PDFDoc document,
void *  form_data,
uint32  length,
const char *  url 
)
pure virtual

A callback function to submit the form data to a specified url.

This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters
[in]documentA PDF document object. It would be valid.
[in]form_dataA form data buffer which is to be submit.
[in]lengthThe size (in bytes) of the buffer parameterform_data.
[in]urlA url, to which the form data will be submit.
Returns
true means success, while false means failure.