Skip to content

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub
Guides

BOTA界面配置

功能说明

BOTA界面用于展示 PDF 文档的书签列表、大纲列表和注释列表。

通过配置 BOTA,可以控制显示哪些类型的界面,以及每个界面中的菜单选项。

BOTA 配置路径为 CPDFConfiguration.globalConfig.bota。如果不传该配置,SDK 默认显示 outlinebookmarkannotations 三个标签页。

设置启用的标签页

使用 CPDFBotaConfig.tabs 配置启用的标签页:

dart
CPDFConfiguration config = CPDFConfiguration(
  globalConfig: const CPDFGlobalConfig(
    bota: CPDFBotaConfig(
      tabs: [
        CPDFBotaTabs.outline,
        CPDFBotaTabs.annotations
      ]
    )
  )
);

效果示例:

AndroidiOS
guides_flutter_3.8.11_1guides_flutter_3.8.11_2

设置注释菜单选项

BOTA 支持为注释列表界面设置 全局菜单单条注释菜单项

dart
CPDFConfiguration(
  globalConfig: const CPDFGlobalConfig(
    bota: CPDFBotaConfig(
      tabs: [
        CPDFBotaTabs.bookmark,
        CPDFBotaTabs.annotations,
      ],
      menus: CPDFBotaMenuConfig(
        annotations: CPDFBotaAnnotationMenuConfig(
          global: [
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.importAnnotation),
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.exportAnnotation),
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.removeAllAnnotation),
          ],
          item: [
            CPDFBotaMenuItem(id: CPDFBotaAnnotItemMenu.reviewStatus, subMenus: [
              CPDFReviewState.accepted,
              CPDFReviewState.cancelled,
              CPDFReviewState.none,
            ]),
            CPDFBotaMenuItem(id: CPDFBotaAnnotItemMenu.more, subMenus: [
              CPDFBotaAnnotMoreMenu.delete
            ]),
          ]
        )
      )
    )
  )
)

效果示例:

AndroidiOS
guides_flutter_3.8.11_1guides_flutter_3.8.11_2

注释全局菜单选项

选项描述
CPDFBotaAnnotGlobalMenu.importAnnotation导入注释
CPDFBotaAnnotGlobalMenu.exportAnnotation导出注释
CPDFBotaAnnotGlobalMenu.removeAllAnnotation删除所有注释
CPDFBotaAnnotGlobalMenu.removeAllReply删除所有注释回复

BOTA 配置字段

字段说明
tabsBOTA 面板中显示的标签页,支持 outlinebookmarkannotations
menus.annotations.global注释列表工具栏中的全局操作。
menus.annotations.item单条注释项中的操作。可通过 subMenus 限制回复状态或更多菜单的子项。

注意:BOTA 菜单配置只作用于 SDK 内置 BOTA 面板。如果你通过 CPDFReaderWidgetController 自行实现 BOTA 页面,需要在自定义 UI 中处理菜单行为。

注释回复状态子菜单选项

选项描述
accepted已接受
rejected已拒绝
cancelled已取消
completed已完成
none无状态

更多菜单选项

选项描述
addReply添加注释回复
viewReply查看注释回复
delete删除注释