interface AppType {
    close: (options?: CloseOptions) => Promise<boolean>;
    createBlankDoc: (width: number, height: number) => Promise<null | DocType>;
    getActiveDoc: () => Promise<null | DocType>;
    getActiveTool: () => Promise<null | ToolType>;
    getAppDataPath: () => Promise<string>;
    getAppTitle: () => Promise<string>;
    getDoc: (index: number) => Promise<null | DocType>;
    getDocsCount: () => Promise<number>;
    getName: () => Promise<string>;
    getRibbonBar: (parentWnd: LPVOIDType) => Promise<null | RibbonBarType>;
    getToolByName: (toolName: string) => Promise<null | ToolType>;
    getVersion: () => Promise<string>;
    isTaskPanelShow: () => Promise<boolean>;
    loadGraphicObjectAddon: () => Promise<boolean>;
    openFileFromUrl: (
        __namedParameters: {
            fileTransferCallbacks: FileTransferCallbacksType;
            headers?: Options;
            password?: string;
            url: string;
        },
    ) => Promise<void>;
    openFromFile: (options: OpenFromFileOptions) => Promise<null | DocType>;
    options: AppOptions;
    pluginInfo: PluginInfoType;
    registerDocHandlerOfPDDoc: (
        docEventCallbacks: DocEventCallbacksType,
    ) => Promise<boolean>;
    registerForContextMenuAddition: (
        name: string,
        menus: MenusType,
    ) => Promise<boolean>;
    registerPageObjectSelectionHandler: (
        callbacks: PageObjectSelectionCallbacksType,
    ) => Promise<null | LPVOIDType>;
    registerRectangleHandler: (
        callbacks: ToolJsCallbacksType,
    ) => Promise<null | LPVOIDType>;
    registerSelectionHandler: (
        callbacks: SelectionJsCallbacksType,
    ) => Promise<null | LPVOIDType>;
    selectOpenFile: (filter: string, multi: boolean) => Promise<string[]>;
    setActiveDoc: (doc: DocType) => Promise<boolean>;
    setActiveDocByIndex: (index: number) => Promise<boolean>;
    setActiveTool: (tool: ToolType, persistent: boolean) => Promise<boolean>;
    showTaskPanel: (show: boolean) => Promise<void>;
    unRegisterPageObjectSelectionHandler: (
        selectionHandler: LPVOIDType,
    ) => Promise<boolean>;
    unRegisterRectangleHandler: (toolHandler: LPVOIDType) => Promise<boolean>;
    unRegisterSelectionHandler: (
        selectionHandler: LPVOIDType,
    ) => Promise<boolean>;
}

Implemented by

Properties

close: (options?: CloseOptions) => Promise<boolean>

关闭当前活动文档。

Type declaration

    • (options?: CloseOptions): Promise<boolean>
    • Parameters

      • Optionaloptions: CloseOptions

        关闭选项,默认值为 {promptToSave: true, showCancel: true}

      Returns Promise<boolean>

      如果成功关闭文档,返回 true,否则返回 false。

createBlankDoc: (width: number, height: number) => Promise<null | DocType>

创建一个空白文档。

Type declaration

    • (width: number, height: number): Promise<null | DocType>
    • Parameters

      • width: number

        空白文档中页面的宽度。

      • height: number

        空白文档中页面的高度。

      Returns Promise<null | DocType>

      空白文档。

getActiveDoc: () => Promise<null | DocType>

获取用于显示 PDF 文件类型的最顶层文档。

Type declaration

    • (): Promise<null | DocType>
    • Returns Promise<null | DocType>

      返回当前处于活动状态的文档。

getActiveTool: () => Promise<null | ToolType>

获取当前激活的工具。

Type declaration

    • (): Promise<null | ToolType>
    • Returns Promise<null | ToolType>

      返回当前激活的工具实例。

getAppDataPath: () => Promise<string>

获取当前应用程序的路径。

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

      当前应用程序的路径。

getAppTitle: () => Promise<string>

获取当前应用程序的标题。

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

      当前应用程序的标题。

getDoc: (index: number) => Promise<null | DocType>

根据指定索引获取文档。

Type declaration

    • (index: number): Promise<null | DocType>
    • Parameters

      • index: number

        文档的索引。该值可以通过 getDocsCount 迭代获取。

      Returns Promise<null | DocType>

      根据指定索引获取文档。

getDocsCount: () => Promise<number>

当前已打开的文档数量。

Type declaration

    • (): Promise<number>
    • Returns Promise<number>

      返回当前已打开的文档数量。

getName: () => Promise<string>

获取当前应用程序的名称。

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

      获取应用程序的名称。它将是 "Foxit PhantomPDF" 或 "Foxit Reader"。

getRibbonBar: (parentWnd: LPVOIDType) => Promise<null | RibbonBarType>

获取应用程序的功能区栏(Ribbon Bar)。

Type declaration

getToolByName: (toolName: string) => Promise<null | ToolType>

根据名称获取工具。

Type declaration

    • (toolName: string): Promise<null | ToolType>
    • Parameters

      • toolName: string

        工具的名称。

      Returns Promise<null | ToolType>

      返回工具实例。

getVersion: () => Promise<string>

获取当前应用程序的版本。

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

      获取应用程序的版本。

isTaskPanelShow: () => Promise<boolean>

获取任务窗格的显示状态。

Type declaration

    • (): Promise<boolean>
    • Returns Promise<boolean>

loadGraphicObjectAddon: () => Promise<boolean>

加载图形对象插件。

Type declaration

    • (): Promise<boolean>
    • Returns Promise<boolean>

openFileFromUrl: (
    __namedParameters: {
        fileTransferCallbacks: FileTransferCallbacksType;
        headers?: Options;
        password?: string;
        url: string;
    },
) => Promise<void>

从 URL 打开一个 PDF 文档。

Type declaration

    • (
          __namedParameters: {
              fileTransferCallbacks: FileTransferCallbacksType;
              headers?: Options;
              password?: string;
              url: string;
          },
      ): Promise<void>
    • Parameters

      Returns Promise<void>

await app.openFileFromUrl({
url: 'https://www.example.com/test.pdf',
password: '123456',
headers: {
'Authorization': 'Bearer 1234567890',
'cookie': 'name=value; name2=value2'
},
fileTransferCallbacks: {
onProgress: (clientData, progress) => {
console.log(`onProgress: ${progress}`);
},
onResult: (clientData, result, message) => {
console.log(`onResult: ${result}, ${message}`);
}
}
});
openFromFile: (options: OpenFromFileOptions) => Promise<null | DocType>

通过 OpenFromFileOptions 打开 PDF 文档。

Type declaration

await app.openFromFile({
'fileSrc': './InsertText.pdf',
'password': '',
'makeVisible': true,
'addToMRU': true,
})
options: AppOptions
pluginInfo: PluginInfoType
registerDocHandlerOfPDDoc: (
    docEventCallbacks: DocEventCallbacksType,
) => Promise<boolean>

将用户提供的事件处理程序注册到文档窗口。

Type declaration

    • (docEventCallbacks: DocEventCallbacksType): Promise<boolean>
    • Parameters

      • docEventCallbacks: DocEventCallbacksType

        回调集合。当文档事件发生时,阅读器会调用相应的回调。

      Returns Promise<boolean>

      TRUE 表示成功,否则表示失败。

registerForContextMenuAddition: (
    name: string,
    menus: MenusType,
) => Promise<boolean>

注册上下文菜单。

Type declaration

    • (name: string, menus: MenusType): Promise<boolean>
    • Parameters

      • name: string

        追加右键菜单的类型名称。 例如: "Page","Annot","Select"

      • menus: MenusType

        上下文菜单的菜单项。

      Returns Promise<boolean>

      如果成功注册上下文菜单,则返回 true,否则返回 false。

const contextMenuAdditionJs = {
menuItems: [
{
index: 0,
icon: '',
title: 'menu1',
name: 'menu1',
tooltip: 'menu1',
describeText: 'menu1',
isSeparator: false,
executeProc: () => {
console.log('Execute proc');
},
isEnable: true
}
]}
await app.registerForContextMenuAddition('Page', contextMenuAdditionJs);
registerPageObjectSelectionHandler: (
    callbacks: PageObjectSelectionCallbacksType,
) => Promise<null | LPVOIDType>

注册页面对象选择处理程序。

Type declaration

const callbacks = {
onPageObjectSelectionKeyDown: (clientData, doc, curSelectData, keyinfoData) => {
console.log('onPageObjectSelectionKeyDown', clientData, doc, curSelectData, keyinfoData);
}
};
const pageObjectSelectionHandler = await app.registerPageObjectSelectionHandlerJs(callbacks);
registerRectangleHandler: (
    callbacks: ToolJsCallbacksType,
) => Promise<null | LPVOIDType>

注册矩形工具处理器。

Type declaration

    • (callbacks: ToolJsCallbacksType): Promise<null | LPVOIDType>
    • Parameters

      • callbacks: ToolJsCallbacksType

        回调集合。当矩形被绘制时,阅读器会调用对应的回调。

      Returns Promise<null | LPVOIDType>

      返回矩形工具处理器对象,可用于取消注册该矩形工具处理器。

const callbacks = {
onToolLButtonDown: (clientData, pageview, flags, point) => {
console.log('onToolLButtonDown', clientData, pageview, flags, point);
},
onToolLButtonUp: (clientData, pageview, flags, point) => {
console.log('onToolLButtonUp', clientData, pageview, flags, point);
}
};
const toolHandler = await app.registerRectangleHandler(callbacks);
registerSelectionHandler: (
    callbacks: SelectionJsCallbacksType,
) => Promise<null | LPVOIDType>

注册一个选区处理器。

Type declaration

const callbacks = {
onToolLButtonDown: (clientData, pageview, flags, point) => {
console.log('onToolLButtonDown', clientData, pageview, flags, point);
},
onToolLButtonUp: (clientData, pageview, flags, point) => {
console.log('onToolLButtonUp', clientData, pageview, flags, point);
}
};
const toolHandler = await app.registerSelectionHandler(callbacks);
selectOpenFile: (filter: string, multi: boolean) => Promise<string[]>

selectOpenFile 方法用于打开文件选择对话框,允许用户选择一个或多个文件。

Type declaration

    • (filter: string, multi: boolean): Promise<string[]>
    • Parameters

      • filter: string

        文件过滤字符串,用于指定可见的文件类型。

      • multi: boolean

        指示是否允许多选文件。

      Returns Promise<string[]>

      返回一个 Promise,该 Promise 解析为字符串数组,表示所选文件的路径。

setActiveDoc: (doc: DocType) => Promise<boolean>

设置活动文档。它会显示在最前端。

Type declaration

    • (doc: DocType): Promise<boolean>
    • Parameters

      • doc: DocType

        你想要设置为活动状态的文档。

      Returns Promise<boolean>

      如果成功将文档设置为活动状态,返回 true,否则返回 false。

setActiveDocByIndex: (index: number) => Promise<boolean>

通过索引设置当前激活的文档。

Type declaration

    • (index: number): Promise<boolean>
    • Parameters

      • index: number

        文档的索引。该值可以通过 getDocsCount 进行遍历。

      Returns Promise<boolean>

      如果成功将文档设置为激活状态,则返回 true,否则返回 false。

setActiveTool: (tool: ToolType, persistent: boolean) => Promise<boolean>

设置当前激活的工具。

Type declaration

    • (tool: ToolType, persistent: boolean): Promise<boolean>
    • Parameters

      • tool: ToolType

        要设置为激活状态的工具。

      • persistent: boolean

        是否持久化该工具。默认为 false。

      Returns Promise<boolean>

      如果工具设置成功则返回 true,否则返回 false。

showTaskPanel: (show: boolean) => Promise<void>

显示或隐藏任务窗格。

Type declaration

    • (show: boolean): Promise<void>
    • Parameters

      • show: boolean

        是否显示任务窗格。默认值为 true。

      Returns Promise<void>

unRegisterPageObjectSelectionHandler: (
    selectionHandler: LPVOIDType,
) => Promise<boolean>

取消注册页面对象选择事件处理程序

Type declaration

    • (selectionHandler: LPVOIDType): Promise<boolean>
    • Parameters

      • selectionHandler: LPVOIDType

        页面对象选择事件处理程序,通常为 registerPageObjectSelectionHandler 返回的对象

      Returns Promise<boolean>

      返回取消注册的结果

unRegisterRectangleHandler: (toolHandler: LPVOIDType) => Promise<boolean>

取消注册矩形处理程序。

Type declaration

    • (toolHandler: LPVOIDType): Promise<boolean>
    • Parameters

      • toolHandler: LPVOIDType

        要取消注册的矩形处理程序,通常为 registerRectangleHandler 返回的对象。

      Returns Promise<boolean>

      如果矩形处理程序取消注册成功则返回 true,否则返回 false。

unRegisterSelectionHandler: (selectionHandler: LPVOIDType) => Promise<boolean>

取消注册选择事件处理程序

Type declaration

    • (selectionHandler: LPVOIDType): Promise<boolean>
    • Parameters

      • selectionHandler: LPVOIDType

        选择事件处理程序,通常是 registerSelectionHandlerJs 返回的对象

      Returns Promise<boolean>

      返回取消注册的结果