Foxit PDF SDK

Instance Methods | List of all members
<FSActionCallback> Protocol Reference

Inherits <NSObject>.

## Instance Methods
(BOOL) | - addMenuItem:is_prepend:
| A callback function to adds a menu item to a menu. More...
(FSSearchIndexConfig *) | - addSearchIndex:selected:
| A callback function to add a search index. More...
(BOOL) | - addSubMenu:
| A callback function to add a menu item with a submenu to the application. More...
(BOOL) | - addToolButton:
| A callback function to add a tool button. More...
(int) | - alert:title:type:icon:
| A callback function used to pop up a dialog to show warnings or hints. More...
(BOOL) | - beep:
| A callback function to cause the system to play a sound. More...
(NSString *) | - browseFile
| A callback function to show a file selection dialog, and the selected file path should be returned. More...
(NSString *) | - browseFile:file_format:file_filter:
| A callback function to show a file selection dialog. More...
(void) | - closeDoc:is_prompt_to_save:
| A callback function to close document. More...
(FSPDFDoc *) | - createBlankDoc
| A callback function to create a blank PDF document object. More...
(void) | - enablePageLoop:
| A callback function to set the flag specifies whether the document will loop around to the beginning of the document in response to a page advance (whether generated by mouse click, keyboard, or timer) in full screen mode. More...
(BOOL) | - executeNamedAction:named_action:
| A callback function to execute a named action. More...
(NSString *) | - getAppInfo:
| A callback function to get application information. More...
(NSString *) | - getAttachmentsFilePath:name:
| A callback function to get the file path of attachments file. More...
(FSPDFDoc *) | - getCurrentDoc
| A callback function to receive current PDF document object. More...
(int) | - getCurrentPage:
| A callback function used to receive current page index. More...
(BOOL) | - getDocChangeMark:
| A callback function to receive the change mark which indicates whether the content of document is changed or not. More...
(NSString *) | - getExtractedEmbeddedFilePath:name:
| A callback function to get the file path of extracted embedded file. More...
(NSString *) | - getFilePath:
| A callback function to get the file path of current PDF document. More...
(BOOL) | - getFullScreen
| A callback function to get whether the full screen mode is set. More...
(FSIdentityProperties *) | - getIdentityProperties
| A callback function used to get identity properties of current user. More...
(FSActionCallbackLanguage) | - getLanguage
| A callback function to get the language of the running viewer application. More...
(FSActionCallbackLayoutMode) | - getLayoutMode
| A callback function to get the page layout of the current document. More...
(FSMenuListArray *) | - getMenuItemNameList
| A callback function to get the menu item name list. More...
(FSPointF *) | - getMousePosition
| A callback function to get current mouse position. More...
(FSPDFDoc *) | - getOpenedDoc:
| A callback function to receive an opened PDF document object by index. More...
(int) | - getOpenedDocCount
| A callback function to receive the count of opened documents. More...
(FSRotation) | - getPageRotation:page_index:
| A callback function used to receive current displaying rotation of a page on PDF viewer. More...
(float) | - getPageScale
| A callback function to get current page zoom value. More...
(FSRectF *) | - getPageWindowRect:page_index:
| A callback function to get the rectangle for the page view window. The page view window is the area inside the inner document window in which the PDF content is displayed. More...
(FSDestinationZoomMode) | - getPageZoomMode
| A callback function to get the current page zoom mode. More...
(NSArray< NSString * > *) | - getPrinterNameList
| A callback function to get the printer name list. More...
(NSArray< NSString * > *) | - getSignatureAPStyleNameList
| A callback function to get the name list of signature appearance style. More...
(NSString *) | - getTemporaryDirectory
| A callback function to get temporary directory. More...
(NSString *) | - getTemporaryFileName:file_name:
| A callback function to get the temporary file path. The temporary file name combine the document name with the file suffix name. More...
(NSString *) | - getUntitledBookmarkName
| A callback function to get the new name for an untitled bookmark. More...
(int) | - getVisiblePage:index:
| A callback function to get the visible page index. More...
(int) | - getVisiblePageCount:
| A callback function to get the visible pages count. More...
(BOOL) | - initModifyItem:item_type:page_index:dict_name:
| A callback function to init modify item. More...
(BOOL) | - invalidateRect:page_index:pdf_rect:
| A callback function to invalidate the client area within the specified rectangle. More...
(BOOL) | - isCurrentDocOpenedInBrowser
| A callback function to get the flag specifies whether current document is opened in browser. More...
(BOOL) | - isLocalFile:
| A callback function to get whether the file is local file. More...
(BOOL) | - isPageLoop
| A callback function to get the flag specifies whether the document will loop around to the beginning of the document in response to a page advance. More...
(BOOL) | - launchURL:
| A callback function to launch to a specified URL. More...
(BOOL) | - mailData:data_type:is_ui:to:subject:cc:bcc:message:
| A callback function to mail data or message, with or without user interaction. More...
(FSActionCallbackJsMailResult) | - mailDoc:to_address:cc_address:bcc_address:subject:message:is_ui:
| A callback function to mails a document as an attachment. More...
(void) | - notifyAfterDataChange:modify_item_info:
| A callback function to notify that data has been modified. More...
(void) | - notifyBeginDoJob:event_type:
| A callback function used to notify javascript execution to begin. More...
(void) | - notifyEndDoJob:event_type:
| A callback function to notify that javajcript execution has ended. More...
(void) | - onFieldValueChanged:type:value_before_changed:value_after_changed:
| A callback function to notify the value change of the field. More...
(FSPDFDoc *) | - openDoc:password:
| A callback function to open a PDF file. More...
(id< FSMediaPlayerCallback >) | - openMediaPlayer:
| A callback function to open media player. More...
(NSString *) | - popupMenu:is_selected_item:
| A callback function to pop up a menu window. More...
(FSMenuItemEx *) | - popupMenuEx:is_selected_item:
| A callback function to pop up a menu window. More...
(void) | - postMessageToHtml:
| A callback function to send message asynchronously to the message handler for the host container of the PDF document. More...
(BOOL) | - print:is_ui:page_range:is_silent:is_shrunk_to_fit:is_printed_as_image:is_reversed:is_to_print_annots:
| A callback function to print pages within a specified index range. More...
(BOOL) | - print:print_params:
| A callback function to print document with print parameters. More...
(void) | - query:search_scope:search_option:di_path:
| a callback function to query the text keywords. More...
(bool) | - removeSearchIndex:
| (Reserved, unsupported yet) A callback function to remove a search index. More...
(BOOL) | - removeToolButtom:
| A callback function to remove a tool button added by the function ActionCallback::AddToolButton. More...
(void) | - resetModifyItem:
| A callback function to reset modify item. More...
(NSString *) | - response:title:default_value:label:is_password:
| A callback function to display a dialog box containing a question and an entry field for the user to reply to the question. More...
(void) | - scroll:
| A callback function to scroll the specified point on the current page into the middle of the current view. More...
(void) | - selectPageNthWord:start_offset:end_offset:is_show_selection:
| A callback function to change the current page number and selects the specified word on the page. More...
(void) | - setCurrentPage:destination:
| A callback function used to set the current page by destination. More...
(void) | - setCurrentPage:page_index:
| A callback function used to set the current page by index. More...
(void) | - setDefaultPageTransitionMode:trans_di:
| A callback function to set the default page trastion mode for full screen mode. More...
(BOOL) | - setDocChangeMark:change_mark:
| A callback function to set the change mark which indicates whether the content of document is changed or not. More...
(void) | - setFullScreen:
| A callback function to set full screen mode. More...
(BOOL) | - setIdentityProperties:
| A callback function used to set identity properties of current user. More...
(void) | - setLayoutMode:is_cover_mode:
| A callback function to set the page layout of the current document. More...
(BOOL) | - setPageRotation:page_index:rotation:
| A callback function used to set the rotation value of a page on PDF viewer. More...
(void) | - setPageScale:dest:
| A callback function to set current page zoom value. More...
(BOOL) | - showDialog:
| A callback function to show the dialog. More...
(FSSOAPResponseInfo *) | - soapRequest:
| A callback function to initiates a remote procedure call (RPC) or sends an XML message to a SOAP HTTP endpoint. More...
(BOOL) | - submitForm:form_data:url:file_format_type:
| A callback function to submit the form data to a specified URL. More...
(void) | - updateLogicalLabel
| A callback function to update logical label. More...
(unsigned int) | - verifySignature:pdf_signature:
| A callback function to verify specified signature. 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.

## Method Documentation

## ◆ addMenuItem:is_prepend:()

- (BOOL) addMenuItem: |  | (FSMenuItemConfig *) | menu_item_config
is_prepend: |  | (BOOL) | is_prepend
| required

A callback function to adds a menu item to a menu.

This callback function will be triggered by the javascript method "app.addMenuItem".

Parameters

  [in] | menu_item_config | The config of the menu item.
  [in] | is_prepend | Determines the position of the new menu item relative to the position specified by MenuItemConfig::pos or MenuItemConfig::pos_str. The default value is false. If this parameter is true, the rules for insertion are as follows: If MenuItemConfig::pos_str is used, the new item is placed before the named item. If MenuItemConfig::pos is used, the new item is placed before the numbered item. If the named item cannot be found or position is not between zero and the number of items in the list, inclusive, the new item is inserted as the first item in the menu (rather than at the end of the menu). parameter is useful when the named item is the first item in a group.

Returns
  true means success, while false means failure.

## ◆ addSearchIndex:selected:()

- (FSSearchIndexConfig*) addSearchIndex: |  | (NSString *) | di_path
selected: |  | (bool) | is_selected
| required

A callback function to add a search index.

This callback function will be triggered by the javascript method "search.addIndex".This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | di_path | A device-independent path to an index file on the user's hard drive.
  [in] | is_selected | Specifies whether the index should be selected for searching. Default value: true.

Returns
  A FSSearchIndexConfig.

## ◆ addSubMenu:()

- (BOOL) addSubMenu: |  | (FSMenuItemConfig *) | menu_item_config |
| required

A callback function to add a menu item with a submenu to the application.

This callback function will be triggered by the javascript method "app.addSubMenu".

Parameters

  [in] | menu_item_config | The config of the menu item.

Returns
  true means success, while false means failure.

## ◆ addToolButton:()

- (BOOL) addToolButton: |  | (FSButtonItem *) | button_item |
| required

A callback function to add a tool button.

This callback function will be triggered by the javascript method "app.addToolButton".

Parameters

  [in] | button_item | The ButtonItem object of the tool button.

Returns
  true means success, while false means failure.

## ◆ alert:title:type:icon:()

- (int) alert: |  | (NSString *) | msg
title: |  | (NSString *) | title
type: |  | (int) | type
icon: |  | (int) | icon
| required

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] | msg | The message string to be displayed in the dialog.
  [in] | title | The title of the dialog.
  [in] | type | Type 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] | icon | Icon 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:()

- (BOOL) beep: |  | (int) | type |
| required

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] | type | Sound type. The value would be on of following values: 0: Error 1: Warning 2: Question 3: Status 4: Default (default value)

Returns
  YES means success, while NO means failure.

## ◆ browseFile()

- (NSString*) browseFile |  |  |
| required

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.

## ◆ browseFile:file_format:file_filter:()

- (NSString*) browseFile: |  | (BOOL) | is_open_dialog
file_format: |  | (NSString *) | file_format
file_filter: |  | (NSString *) | file_filter
| required

A callback function to show a file selection dialog.

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

Parameters

  [in] | is_open_dialog | Whether is open or saving dialog, true means open dialog and false means saving dialog.
  [in] | file_format | The file format string.
  [in] | file_filter | The file filter string.

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

## ◆ closeDoc:is_prompt_to_save:()

- (void) closeDoc: |  | (FSPDFDoc *) | document
is_prompt_to_save: |  | (BOOL) | is_prompt_to_save
| required

A callback function to close document.

This callback function will be triggered by the javascript method "Doc.closeDoc". This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | is_prompt_to_save | true means show save prompt, while false means not.

Returns
  None.

## ◆ createBlankDoc()

- (FSPDFDoc*) createBlankDoc |  |  |
| required

A callback function to create a blank PDF document object.

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

Returns
  The newly created blank PDF document object.

## ◆ enablePageLoop:()

- (void) enablePageLoop: |  | (BOOL) | is_loop |
| required

A callback function to set the flag specifies whether the document will loop around to the beginning of the document in response to a page advance (whether generated by mouse click, keyboard, or timer) in full screen mode.

This callback function will be triggered by the javascript property "app.fs.loop". This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | is_loop | true means to loop around to the beginning of the document, while false means not.

Returns
  None.

## ◆ executeNamedAction:named_action:()

- (BOOL) executeNamedAction: |  | (FSPDFDoc *) | document
named_action: |  | (NSString *) | named_action
| required

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] | document | A PDF document object. It would be valid.
  [in] | named_action | A string to specify a named action.

Returns
  YES means success, while NO means failure.

## ◆ getAppInfo:()

- (NSString*) getAppInfo: |  | (FSActionCallbackAppInfoType) | type |
| required

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 FSActionCallbackAppInfoTypeViewerVersion, FSActionCallbackAppInfoTypeAppVersion and FSActionCallbackAppInfoTypeFormsVersion, please use string to represent it.

Parameters

  [in] | type | Type of information. Please refer to values starting from FSActionCallbackAppInfoTypeFormsVersion and this would be one of these macros.

Returns
  The application information.

## ◆ getAttachmentsFilePath:name:()

- (NSString*) getAttachmentsFilePath: |  | (FSPDFDoc *) | pdf_doc
name: |  | (NSString *) | name
| required

A callback function to get the file path of attachments file.

This callback function will be triggered by the javascript method "Doc.importDataObject". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | pdf_doc | A PDF document object. It will embed with a data object.
  [in] | name | The name to associate with the data object. It's the parameter "cName" of the method "Doc.importDataObject".

Returns
  The path of the file which will be embedded as a data object.

## ◆ getCurrentDoc()

- (FSPDFDoc*) getCurrentDoc |  |  |
| required

A callback function to receive current PDF document object.

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

Returns
  Current PDF document object.

## ◆ getCurrentPage:()

- (int) getCurrentPage: |  | (FSPDFDoc *) | document |
| required

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] | document | A 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:()

- (BOOL) getDocChangeMark: |  | (FSPDFDoc *) | document |
| required

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] | document | A PDF document object. It would be valid.

Returns
  YES means the PDF document is changed, while NO means not.

## ◆ getExtractedEmbeddedFilePath:name:()

- (NSString*) getExtractedEmbeddedFilePath: |  | (FSPDFDoc *) | pdf_doc
name: |  | (NSString *) | name
| required

A callback function to get the file path of extracted embedded file.

This callback function will be triggered by the javascript method "Doc.exportDataObject". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | pdf_doc | A PDF document object. It will be embedded as a data object to the file .
  [in] | name | The name of the data object to extract. It's the parameter "cName" of the method "Doc.exportDataObject".

Returns
  The path of the file which will embed with a data object.

## ◆ getFilePath:()

- (NSString*) getFilePath: |  | (FSPDFDoc *) | document |
| required

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] | document | A PDF document object. It would be valid.

Returns
  The file path.

## ◆ getFullScreen()

- (BOOL) getFullScreen |  |  |
| required

A callback function to get whether the full screen mode is set.

This callback function will be triggered by the javascript property "app.fullScreen" or "app.fs.isFullScreen".

Returns
  true means the full screen mode is set, while false means not.

## ◆ getIdentityProperties()

- (FSIdentityProperties*) getIdentityProperties |  |  |
| required

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 IdentityProperties object that specifies the identity properties of current user.

## ◆ getLanguage()

- (FSActionCallbackLanguage) getLanguage |  |  |
| required

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 FSActionCallbackLanguageUnknown and this should be one of these values.

## ◆ getLayoutMode()

- (FSActionCallbackLayoutMode) getLayoutMode |  |  |
| required

A callback function to get the page layout of the current document.

This callback function will be triggered by the javascript properties "Doc.layout". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  The layout mode. Please refer to values starting from FSActionCallbackLayoutModeSinglePage and this should be one of these values.

## ◆ getMenuItemNameList()

- (FSMenuListArray*) getMenuItemNameList |  |  |
| required

A callback function to get the menu item name list.

This callback function will be triggered by the javascript method "app.listMenuItems".

Returns
  An array of menu list objects.

## ◆ getMousePosition()

- (FSPointF*) getMousePosition |  |  |
| required

A callback function to get current mouse position.

This callback function will be triggered by the javascript properties "doc.mouseX" or "doc.mouseY". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  A position in device coordinate system.

## ◆ getOpenedDoc:()

- (FSPDFDoc*) getOpenedDoc: |  | (int) | index |
| required

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] | index | The index of an opened PDF documents. Valid range: from 0 to count-1. count is returned by callback function FSActionCallback::getOpenedDocCount

Returns
  A opened PDF document object.

## ◆ getOpenedDocCount()

- (int) getOpenedDocCount |  |  |
| required

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:page_index:()

- (FSRotation) getPageRotation: |  | (FSPDFDoc *) | document
page_index: |  | (int) | page_index
| required

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] | document | A PDF document object. It would be valid.
  [in] | page_index | A 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 FSRotation0 and this should be one of these values.

## ◆ getPageScale()

- (float) getPageScale |  |  |
| required

A callback function to get current page zoom value.

This callback function will be triggered by the javascript properties "Doc.zoom". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  A zoom value. For example, a zoom value of 1.0 specifies 100%. It should be a positive number.

## ◆ getPageWindowRect:page_index:()

- (FSRectF*) getPageWindowRect: |  | (FSPDFDoc *) | document
page_index: |  | (int) | page_index
| required

A callback function to get the rectangle for the page view window. The page view window is the area inside the inner document window in which the PDF content is displayed.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | page_index | The page index.

This callback function will be triggered by the javascript property "Doc.pageWindowRect". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  A rectangle for the page view window.

## ◆ getPageZoomMode()

- (FSDestinationZoomMode) getPageZoomMode |  |  |
| required

A callback function to get the current page zoom mode.

This callback function will be triggered by the javascript properties "Doc.zoom" or "Doc.zoomType". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  The zoom mode. Please refer to values starting from FSDestinationZoomXYZ and this should be one of these values.

## ◆ getPrinterNameList()

- (NSArray<NSString*>*) getPrinterNameList |  |  |
| required

A callback function to get the printer name list.

This callback function will be triggered by the javascript property "app.printerNames". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  An array of the printer name.

## ◆ getSignatureAPStyleNameList()

- (NSArray<NSString*>*) getSignatureAPStyleNameList |  |  |
| required

A callback function to get the name list of signature appearance style.

This callback function will be triggered by the javascript method "SecurityHandler.appearances". This callback function is optional, so it can be implemented to do nothing.

Returns
  An array of signature appearance style name.

## ◆ getTemporaryDirectory()

- (NSString*) getTemporaryDirectory |  |  |
| required

A callback function to get temporary directory.

This callback function will be triggered by the javascript method "Doc.extractpages". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  The temporary directory.

## ◆ getTemporaryFileName:file_name:()

- (NSString*) getTemporaryFileName: |  | (FSPDFDoc *) | document
file_name: |  | (NSString *) | file_name
| required

A callback function to get the temporary file path. The temporary file name combine the document name with the file suffix name.

This callback function will be triggered by the javascript method "Doc.mailForm". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | file_name | File suffix name.

Returns
  The temporary file path.

## ◆ getUntitledBookmarkName()

- (NSString*) getUntitledBookmarkName |  |  |
| required

A callback function to get the new name for an untitled bookmark.

This callback function will be triggered by the javascript mothod "bookmark.createChild" when the parameter "cName" of the method is an empty string. This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  A new name for an untitled bookmark.

## ◆ getVisiblePage:index:()

- (int) getVisiblePage: |  | (FSPDFDoc *) | document
index: |  | (int) | index
| required

A callback function to get the visible page index.

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

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | index | The visible page index. Valid range: from 0 to (count-1). count is returned by function getVisiblePageCount.

Returns
  The page index of visible page.

## ◆ getVisiblePageCount:()

- (int) getVisiblePageCount: |  | (FSPDFDoc *) | document |
| required

A callback function to get the visible pages count.

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

Parameters

  [in] | document | A PDF document object. It would be valid.

Returns
  The count of visible pages.

## ◆ initModifyItem:item_type:page_index:dict_name:()

- (BOOL) initModifyItem: |  | (FSPDFDoc *) | document
item_type: |  | (FSActionCallbackModifyItemType) | item_type
page_index: |  | (int) | page_index
dict_name: |  | (NSString *) | dict_name
| required

A callback function to init modify item.

This callback function is optional, so it can be implemented to do nothing if no action is required.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | item_type | The modify item type. Please refer to values starting from FSActionCallbackModifyItemTypeNone and this should be one of these values.
  [in] | page_index | A page index which is used to change current page.
  [in] | dict_name | The name of the dictionary.

Returns
  None.

## ◆ invalidateRect:page_index:pdf_rect:()

- (BOOL) invalidateRect: |  | (FSPDFDoc *) | document
page_index: |  | (int) | page_index
pdf_rect: |  | (FSRectF *) | pdf_rect
| required

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

All positions are measured in PDF "user space". Implementation should call function FSRenderer::startRender:matrix:pause: for repainting a specified page area.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | page_index | A page index. It would start from 0 and less than page count of the specified document.
  [in] | pdf_rect | A rectangle that specifies the page area in PDF coordinate system.

Returns
  YES means success, while NO means failure.

## ◆ isCurrentDocOpenedInBrowser()

- (BOOL) isCurrentDocOpenedInBrowser |  |  |
| required

A callback function to get the flag specifies whether current document is opened in browser.

This callback function will be triggered by the javascript property "doc.hostContainer". This callback function is optional, so it can be implemented to do nothing.

Returns
  true means current document is opened in browser, while false means not.

## ◆ isLocalFile:()

- (BOOL) isLocalFile: |  | (FSPDFDoc *) | document |
| required

A callback function to get whether the file is local file.

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

Parameters

  [in] | document | A PDF document object. It would be valid.

Returns
  true means the PDF file is loacl file.

## ◆ isPageLoop()

- (BOOL) isPageLoop |  |  |
| required

A callback function to get the flag specifies whether the document will loop around to the beginning of the document in response to a page advance.

This callback function will be triggered by the javascript property "app.fs.loop". This callback function is optional, so it can be implemented to do nothing.

Returns
  true means to loop around to the beginning of the document, while false means not.

## ◆ launchURL:()

- (BOOL) launchURL: |  | (NSString *) | url |
| required

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] | url | A URL.

Returns
  YES means success, while NO means failure.

## ◆ mailData:data_type:is_ui:to:subject:cc:bcc:message:()

- (BOOL) mailData: |  | (void *) | data
data_type: |  | (FSActionCallbackMailType) | data_type
is_ui: |  | (BOOL) | is_ui
to: |  | (NSString *) | to
subject: |  | (NSString *) | subject
cc: |  | (NSString *) | cc
bcc: |  | (NSString *) | bcc
message: |  | (NSString *) | message
| required

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] | data | Pointer to a data which is to be mailed. The value and type of the data depends on parameter data_type: nil when parameter data_type is FSActionCallbackMailTypeMsg. pointer to a string when parameter data_type is FSActionCallbackMailTypeForm. pointer to a FSPDFDoc object when parameter data_type is FSActionCallbackMailTypeDoc.
  [in] | data_type | Mail type. Please refer to values starting from FSActionCallbackMailTypeDoc and this would be one of these values.
  [in] | is_ui | YES means that the remaining parameters are used to seed the compose-new-message window which is displayed to the user. NO means that the parameter to is required and all other parameters are optional.
  [in] | to | A string that specifies a semicolon-delimited list of recipients for the message.
  [in] | subject | A string that specifies the subject of the message. The limit of this string's length is 64 KB.
  [in] | cc | A string that specifies a semicolon-delimited list of CC recipients for the message.
  [in] | bcc | A string that specifies a semicolon-delimited list of BCC recipients for the message.
  [in] | message | A string that specifies the content of the message. The limit of this string's length is 64 KB.

Returns
  YES means success, while NO means failure.

## ◆ mailDoc:to_address:cc_address:bcc_address:subject:message:is_ui:()

- (FSActionCallbackJsMailResult) mailDoc: |  | (FSPDFDoc *) | document
to_address: |  | (NSString *) | to_address
cc_address: |  | (NSString *) | cc_address
bcc_address: |  | (NSString *) | bcc_address
subject: |  | (NSString *) | subject
message: |  | (NSString *) | message
is_ui: |  | (BOOL) | is_ui
| required

A callback function to mails a document as an attachment.

This callback function will be triggered by the javascript method "Doc.mailDoc". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | to_address | To address.
  [in] | cc_address | Cc address.
  [in] | bcc_address | Bcc address.
  [in] | subject | Mail subject.
  [in] | message | Mail message.
  [in] | is_ui | true means to show mail dialog, while false means not.

Returns
  The mail result. Please refer to values starting from FSActionCallbackJSMailResultFailed and this should be one of these values.

## ◆ notifyAfterDataChange:modify_item_info:()

- (void) notifyAfterDataChange: |  | (FSPDFDoc *) | document
modify_item_info: |  | (FSJavascriptModifyItemInfo *) | modify_item_info
| required

A callback function to notify that data has been modified.

This callback function is optional, so it can be implemented to do nothing if no action is required.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | modify_item_info | A FSJavascriptModifyItemInfo object containing details about the modification.

Returns
  None.

## ◆ notifyBeginDoJob:event_type:()

- (void) notifyBeginDoJob: |  | (FSPDFDoc *) | document
event_type: |  | (FSJavascriptModifyItemInfoJavascriptEventType) | event_type
| required

A callback function used to notify javascript execution to begin.

This callback function is optional, so it can be implemented to do nothing if no action is required.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | event_type | The javascript event type. Please refer to values starting from FSJavascriptEventTypeUnknown and this should be one of these values.

Returns
  None.

## ◆ notifyEndDoJob:event_type:()

- (void) notifyEndDoJob: |  | (FSPDFDoc *) | document
event_type: |  | (FSJavascriptModifyItemInfoJavascriptEventType) | event_type
| required

A callback function to notify that javajcript execution has ended.

This callback function is optional, so it can be implemented to do nothing if no action is required.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | event_type | The javascript event type. Please refer to values starting from FSJavascriptEventTypeUnknown and this should be one of these values.

Returns
  None.

## ◆ onFieldValueChanged:type:value_before_changed:value_after_changed:()

- (void) onFieldValueChanged: |  | (NSString *) | field_name
type: |  | (FSActionCallbackJSFieldValueChangeType) | type
value_before_changed: |  | (NSArray< NSString * > *) | value_before_changed
value_after_changed: |  | (NSArray< NSString * > *) | value_after_changed
| required

A callback function to notify the value change of the field.

This callback function will be triggered when the field's value is changed via JavaScript.

Parameters

  [in] | field_name | A string that specifies the field name.
  [in] | type | field value change type. Please refer to values starting from FSActionCallbackJSFieldValueChangedByFormat and this would be one of these values.
  [in] | value_before_changed | A string array that specifies the field's value before the change. For a list box, the parameter represent one or more than one of the field's items which be selected simultaneously.
  [in] | value_after_changed | A string array that specifies the field's value after the change. For a list box, the parameter represent one or more than one of the field's items which be selected simultaneously.

Returns
  None.

## ◆ openDoc:password:()

- (FSPDFDoc*) openDoc: |  | (NSString *) | file_path
password: |  | (NSString *) | password
| required

A callback function to open a PDF file.

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

Parameters

  [in] | file_path | A full path of an existing PDF file.
  [in] | password | Password for input PDF file. This may be an empty string.

Returns
  A opened PDF document object.

## ◆ openMediaPlayer:()

- (id<FSMediaPlayerCallback>) openMediaPlayer: |  | (FSPlayerArgs *) | player_args |
| required

A callback function to open media player.

This callback function will be triggered by the javascript method "app.media.openPlayer" or "app.media.createPlayer".

Parameters

  [in] | player_args | The FSPlayerArgs object.

Returns
  A FSMediaPlayerCallback object.

## ◆ popupMenu:is_selected_item:()

- (NSString*) popupMenu: |  | (FSMenuListArray *) | menus
is_selected_item: |  | (NSNumber **) | is_selected_item
| required

A callback function to pop up a menu window.

The position of menu window is the 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] | menus | An array of menu list objects.
  [out] | is_selected_item | Output parameter that receives the value of whether this menu item is selected or not. true means that the menu item is selected, while false means that the menu item is not selected.

Returns
  The name of the menu item that was selected.

## ◆ popupMenuEx:is_selected_item:()

- (FSMenuItemEx*) popupMenuEx: |  | (FSMenuItemExArray *) | menus
is_selected_item: |  | (NSNumber **) | is_selected_item
| required

A callback function to pop up a menu window.

The position of menu window is the 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] | menus | An array of FSMenuItemEx objects.
  [out] | is_selected_item | Output parameter that receives the value of whether a menu item is selected or not. true means that the menu item is selected, while false means that the menu item is not selected.

Returns
  The MenuItemEx object of the menu item that was selected.

## ◆ postMessageToHtml:()

- (void) postMessageToHtml: |  | (NSArray< NSString * > *) | message |
| required

A callback function to send message asynchronously to the message handler for the host container of the PDF document.

For this message to be delivered, the host container (for example, an <OBJECT> element in an HTML page) must have registered for notification by setting its messageHandler property.
This callback function will be triggered by the javascript method "doc.hostContainer.postMessage". This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | message | An array of string that specifies the message to be posted.

Returns
  None.

## ◆ print:is_ui:page_range:is_silent:is_shrunk_to_fit:is_printed_as_image:is_reversed:is_to_print_annots:()

- (BOOL) print: |  | (FSPDFDoc *) | document
is_ui: |  | (BOOL) | is_ui
page_range: |  | (FSRange *) | page_range
is_silent: |  | (BOOL) | is_silent
is_shrunk_to_fit: |  | (BOOL) | is_shrunk_to_fit
is_printed_as_image: |  | (BOOL) | is_printed_as_image
is_reversed: |  | (BOOL) | is_reversed
is_to_print_annots: |  | (BOOL) | is_to_print_annots
| required

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] | document | A PDF document object. It would be valid.
  [in] | is_ui | YES means that a UI should be presented to the user to obtain printing information and confirm the action.
  [in] | page_range | A 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_silent | YES means that the cancel dialog box should be suppressed while the document is printing.
  [in] | is_shrunk_to_fit | YES means that the page should be shrunk (if necessary) to fit within the area of the printed page.
  [in] | is_printed_as_image | YES means that pages should be printed as image.
  [in] | is_reversed | YES means that the printing order should be from parameter end to parameter start.
  [in] | is_to_print_annots | YES means that annotations should be printed with page.

Returns
  YES means success, while NO means failure.

## ◆ print:print_params:()

- (BOOL) print: |  | (FSPDFDoc *) | document
print_params: |  | (FSPrintParams *) | print_params
| required

A callback function to print document with print parameters.

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

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | print_params | A FSPrintParams object.

Returns
  true means success, while false means failure.

## ◆ query:search_scope:search_option:di_path:()

- (void) query: |  | (NSString *) | keywords
search_scope: |  | (FSActionCallbackSearchScope) | search_scope
search_option: |  | (FSSearchOption *) | search_opion
di_path: |  | (NSString *) | di_path
| required

a callback function to query the text keywords.

This callback function will be triggered by the javascript method "search.query".This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | keywords | The text content for which to search.
  [in] | search_scope | Specifies where the text should be searched. Please refer to values starting from FSActionCallbackSearchScopeActiveDoc and this should be one of these values.
  [in] | search_option | A FSSearchOption object that represents search option.
  [in] | di_path | A device-independent path to a folder or search index on the user's computer. This parameter is optional. When search_scope is FSActionCallbackSearchScopeFolder or FSActionCallbackSearchScopeIndex, this parameter is required.

Returns
  None.

## ◆ removeSearchIndex:()

- (bool) removeSearchIndex: |  | (FSSearchIndexConfig *) | search_index_config |
| required

(Reserved, unsupported yet) A callback function to remove a search index.

This callback function will be triggered by the javascript method "search.removeIndex".This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | search_index_config | A FSSearchIndexConfig that represents the search index config.

Returns
  true means success, while false means failure.

## ◆ removeToolButtom:()

- (BOOL) removeToolButtom: |  | (NSString *) | button_name |
| required

A callback function to remove a tool button added by the function ActionCallback::AddToolButton.

This callback function will be triggered by the javascript method "app.removeToolButton".

Parameters

  [in] | button_name | The name of the tool button.

Returns
  true means success, while false means failure.

## ◆ resetModifyItem:()

- (void) resetModifyItem: |  | (FSPDFDoc *) | document |
| required

A callback function to reset modify item.

This callback function is optional, so it can be implemented to do nothing if no action is required.

Parameters

  [in] | document | A PDF document object. It would be valid.

## ◆ response:title:default_value:label:is_password:()

- (NSString*) response: |  | (NSString *) | question
title: |  | (NSString *) | title
default_value: |  | (NSString *) | default_value
label: |  | (NSString *) | label
is_password: |  | (BOOL) | is_password
| required

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] | question | A string that specifies the question to be posed to the user.
  [in] | title | A string that specifies the title of the dialog box.
  [in] | default_value | A string that specifies a default value as the answer to the question. If the answer is not specified, no default value is presented.
  [in] | label | A string that specifies a short string to appear in front of the edit text field.
  [in] | is_password | A boolean value that indicates whether user's response should be masked to show: YES means that the user's response should show as asterisks (*) or bullets (?) to mask the response, which might be sensitive information.

Returns
  User's response. It can be an empty string.

## ◆ scroll:()

- (void) scroll: |  | (FSPointF *) | point |
| required

A callback function to scroll the specified point on the current page into the middle of the current view.

This callback function will be triggered by the javascript method "Doc.scroll". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | point | The specified point[PDF coordinate system].

Returns
  None.

## ◆ selectPageNthWord:start_offset:end_offset:is_show_selection:()

- (void) selectPageNthWord: |  | (int) | page_index
start_offset: |  | (int) | start_offset
end_offset: |  | (int) | end_offset
is_show_selection: |  | (BOOL) | is_show_selection
| required

A callback function to change the current page number and selects the specified word on the page.

This callback function will be triggered by the javascript method "Doc.selectPageNthWord". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  page_index | The page index.
  start_offset | The start word offset.
  end_offset | The end word offset.
  is_show_selection | true means to show selection, while false means not.

Returns
  None.

## ◆ setCurrentPage:destination:()

- (void) setCurrentPage: |  | (FSPDFDoc *) | document
destination: |  | (FSDestination *) | destination
| required

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

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

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | destination | A object. None.

## ◆ setCurrentPage:page_index:()

- (void) setCurrentPage: |  | (FSPDFDoc *) | document
page_index: |  | (int) | page_index
| required

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] | document | A PDF document object. It would be valid.
  [in] | page_index | A 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.

## ◆ setDefaultPageTransitionMode:trans_di:()

- (void) setDefaultPageTransitionMode: |  | (NSString *) | trans_type
trans_di: |  | (NSString *) | trans_di
| required

A callback function to set the default page trastion mode for full screen mode.

This callback function will be triggered by the javascript property "app.fs.defaultTransition". This callback function is optional, so it can be implemented to do nothing.

Parameters

  [in] | trans_type | A string that specifies the type of the transition effect. Please refer to the follow values: "Split", "Box", "Fly", "Blinds", "Push", "Wipe", "Glitter", "Cover", "Uncover", "Dissolve", "Replace", "Fade".
  [in] | trans_di | A string that specifies the direction of the transition effect. For "Split", this value can be "HorizontalInward", "HorizontalOutward", "VerticalInward" or "VerticalOutward". For "Box", this value can be "Outward" or "Inward". For "Fly" and "Push", this value can be "Left", "Right", "Up"or "Down". For "Blinds", this value can be "Horizontal" or "Vertical". For "Wipe", "Glitter", "Uncover" and "Cover", this value can be "Left","LeftUp", "LeftDown", "Right", "RightUp", "RightDown","Up"or "Down". For "Dissolve", "Replace" and "Fade", this value will be NULL.

Returns
  None.

## ◆ setDocChangeMark:change_mark:()

- (BOOL) setDocChangeMark: |  | (FSPDFDoc *) | document
change_mark: |  | (BOOL) | change_mark
| required

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] | document | A PDF document object. It would be valid.
  [in] | change_mark | A boolean value that indicates whether the content of document is changed or not.

Returns
  YES means success, while NO means failure.

## ◆ setFullScreen:()

- (void) setFullScreen: |  | (BOOL) | is_full_screen |
| required

A callback function to set full screen mode.

This callback function will be triggered when the javascript property "app.fullScreen" or "app.fs.isFullScreen" is to be set.

Parameters

  [in] | is_full_screen | true means to set full screen mode, while false means not.

Returns
  None.

## ◆ setIdentityProperties:()

- (BOOL) setIdentityProperties: |  | (FSIdentityProperties *) | identity_properties |
| required

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

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

Returns
  YES means success, while NO means failure.

## ◆ setLayoutMode:is_cover_mode:()

- (void) setLayoutMode: |  | (FSActionCallbackLayoutMode) | layout_mode
is_cover_mode: |  | (BOOL) | is_cover_mode
| required

A callback function to set the page layout of the current document.

This callback function will be triggered by the javascript properties "Doc.layout". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  [in] | layout_mode | The layout mode. Please refer to values starting from FSActionCallbackLayoutModeSinglePage and this should be one of these values.
  [in] | is_cover_mode | true means that the cover will always displayed separately, while false means not.

Returns
  None.

## ◆ setPageRotation:page_index:rotation:()

- (BOOL) setPageRotation: |  | (FSPDFDoc *) | document
page_index: |  | (int) | page_index
rotation: |  | (FSRotation) | rotation
| required

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] | document | A PDF document object. It would be valid.
  [in] | page_index | A 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] | rotation | New rotation value. Please refer to values starting from FSRotation0 and this would be one of these values except FSRotationUnknown.

Returns
  YES means success, while NO means failure.

## ◆ setPageScale:dest:()

- (void) setPageScale: |  | (FSDestinationZoomMode) | zoom_mode
dest: |  | (FSDestination *) | dest
| required

A callback function to set current page zoom value.

This callback function will be triggered by the javascript properties "Doc.zoom" or "Doc.zoomType". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Parameters

  zoom_mode | The zoom mode. Please refer to values starting from FSDestinationZoomXYZ and this should be one of these values.
  dest | A pdf::Destination object that represents destination data.

Returns
  None.

## ◆ showDialog:()

- (BOOL) showDialog: |  | (FSDialogDescriptionConfig *) | dlg_config |
| required

A callback function to show the dialog.

This callback function will be triggered by the javascript method "app.execDialog".

Parameters

  [in] | dlg_config | The DialogDescriptionConfig object.

Returns
  true means success, while false means failure.

## ◆ soapRequest:()

- (FSSOAPResponseInfo*) soapRequest: |  | (FSSOAPRequestProperties *) | request_params |
| required

A callback function to initiates a remote procedure call (RPC) or sends an XML message to a SOAP HTTP endpoint.

The method either waits for the endpoint to reply (synchronous processing) or calls a method on the notification object (asynchronous processing).

Parameters

  [in] | request_params | A FSSOAPRequestProperties that represents a FSSOAPRequestProperties object containing the property parameters for the SOAP request.

Returns
  A FSSOAPResponseInfo object.

## ◆ submitForm:form_data:url:file_format_type:()

- (BOOL) submitForm: |  | (FSPDFDoc *) | document
form_data: |  | (NSData *) | form_data
url: |  | (NSString *) | url
file_format_type: |  | (FSFileFormatType) | file_format_type
| required

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] | document | A PDF document object. It would be valid.
  [in] | form_data | Pointer to a form data buffer which is to be submit.
  [in] | url | A URL, to which the form data will be submit.
  [in] | file_format_type | File format type for submission form. Please refer to values starting from foxit::common::e_FileFormatTypeFDF and this would be one of these values.

Returns
  YES means success, while NO means failure.

## ◆ updateLogicalLabel()

- (void) updateLogicalLabel |  |  |
| required

A callback function to update logical label.

This callback function will be triggered by the javascript method "Doc.setPageLabels". This callback function is optional, so it can be implemented to do nothing and just return a useless value.

Returns
  None.

## ◆ verifySignature:pdf_signature:()

- (unsigned int) verifySignature: |  | (FSPDFDoc *) | document
pdf_signature: |  | (FSSignature *) | pdf_signature
| required

A callback function to verify specified signature.

This callback function will be triggered when a signature is to be verified by an action. If user does not want to verify the signature, just implement this function to do nothing and just return FSSignatureStateUnknown. User is recommended to use class FSLTVVerifier to verify if a signed signature is valid or not.

Parameters

  [in] | document | A PDF document object. It would be valid.
  [in] | pdf_signature | A PDF signature which is signed. This signature belongs to input paramter document.

Returns
  The signature verified state. Please refer to values starting from FSSignatureStateUnknown and this would be one or combination of them.