Implements

Constructors

  • 创建一个应用实例。 请使用 create 来创建实例,而不是通过 new 模式创建实例。

    Parameters

    • options: AppOptions

      通过应用所需的配置信息创建应用, 其中包含必要的初始化信息。例如 id,它是插件的唯一标识符。

    Returns PluginApp

    const app = await App.create({
    pluginInfo: {
    id: 'client_id',
    name: 'jsplugin_1',
    version: '',
    description: '',
    author: '',
    license: ''
    }
    });

Properties

options: AppOptions
pluginInfo: PluginInfoType

Methods

  • 关闭当前活动文档。

    Parameters

    • options: CloseOptions = ...

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

    Returns Promise<boolean>

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

  • 创建一个空白文档。

    Parameters

    • width: number

      空白文档页面的宽度。

    • height: number

      空白文档页面的高度。

    Returns Promise<null | DocType>

    空白文档。

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

    Returns Promise<null | DocType>

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

  • 获取当前激活的工具。

    Returns Promise<null | ToolType>

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

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

    Returns Promise<string>

    当前应用程序的路径。

  • 获取当前应用的标题。

    Returns Promise<string>

    当前应用的标题。

  • 通过指定索引获取文档。

    Parameters

    • index: number

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

    Returns Promise<null | DocType>

    通过指定索引获取文档。

  • 当前已打开的文档数量。

    Returns Promise<number>

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

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

    Returns Promise<string>

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

  • 通过名称获取工具。

    Parameters

    • toolName: string

      工具的名称。

    Returns Promise<null | ToolType>

    返回工具实例。

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

    Returns Promise<string>

    获取应用程序的版本。

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

    Returns Promise<boolean>

  • 从 URL 打开一个 PDF 文档。

    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}`);
    }
    }
    });
  • 通过 OpenFromFileOptions 打开一个 PDF 文档。

    Parameters

    Returns Promise<null | DocType>

    await app.openFromFile({
    'fileSrc': './InsertText.pdf',
    'password': '',
    'makeVisible': true,
    'addToMRU': true,
    })
  • 将用户提供的事件处理程序注册到文档窗口上。

    Parameters

    • docEventCallbacks: DocEventCallbacksType

      回调集合。当文档事件发生时,Reader 会调用对应的回调函数

    Returns Promise<boolean>

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

  • 注册上下文菜单。

    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);
  • 注册页面对象选择处理程序。

    Parameters

    Returns Promise<null | LPVOIDType>

    返回页面对象选择处理程序对象,可用于注销页面对象选择处理程序。

    const callbacks = {
    onPageObjectSelectionKeyDown: (clientData, doc, curSelectData, keyinfoData) => {
    console.log('onPageObjectSelectionKeyDown', clientData, doc, curSelectData, keyinfoData);
    }
    };
    const pageObjectSelectionHandler = await app.registerPageObjectSelectionHandler(callbacks);
  • 注册矩形工具处理程序。

    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);
  • 注册一个选择处理程序。

    Parameters

    • callbacks: SelectionJsCallbacksType

      回调集合。当进行选区操作时,阅读器会调用对应的回调函数。

    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.registerSelectionHandler(callbacks);
  • selectOpenFile 方法用于打开文件选择对话框,允许用户选择一个或多个文件。

    Parameters

    • filter: string

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

    • multi: boolean = false

      指示是否允许多选文件。

    Returns Promise<string[]>

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

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

    Parameters

    • doc: DocType

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

    Returns Promise<boolean>

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

  • 通过索引设置当前活动文档。

    Parameters

    • index: number

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

    Returns Promise<boolean>

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

  • 设置当前激活的工具。

    Parameters

    • tool: ToolType

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

    • persistent: boolean = false

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

    Returns Promise<boolean>

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

  • 显示或隐藏任务窗格。

    Parameters

    • show: boolean = true

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

    Returns Promise<void>

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

    Parameters

    • selectionHandler: LPVOIDType

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

    Returns Promise<boolean>

    返回取消注册的结果

  • 取消注册矩形处理程序。

    Parameters

    • toolHandler: LPVOIDType

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

    Returns Promise<boolean>

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

  • 注销选择事件处理程序

    Parameters

    • selectionHandler: LPVOIDType

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

    Returns Promise<boolean>

    返回注销结果

  • 创建一个应用实例。

    Parameters

    • options: AppOptions

      通过应用所需的配置信息创建应用, 其中包括必要的初始化信息。例如 id,它是插件的唯一标识符。

    Returns Promise<AppType>

    返回应用实例。

    const app = await App.create({
    pluginInfo: {
    id: 'client_id',
    name: 'jsplugin_1',
    version: '',
    description: '',
    author: '',
    license: ''
    }
    });