Skip to content
全新发布

PDF SDK 与 AI 文档处理

在 GitHub 获取完整的私有化部署SDK 包及 AI 智能文档处理能力,一键部署,快速构建您的文档处理工作流。

Guides

自定义 Note 注释创建弹窗

ComPDF Flutter SDK 支持控制创建 Note 注释后是否自动显示 SDK 默认编辑弹窗。你可以关闭默认弹窗,在 Flutter 层接收已创建的 Note 注释,并展示自定义编辑 UI。

流程

  1. autoShowNoteEditDialog 设置为 false
  2. 用户选择 Note 工具并点击页面。
  3. SDK 创建 Note 注释,并通过 onAnnotationCreationPreparedCallback 返回该注释。
  4. Flutter UI 展示自定义弹窗。
  5. 将用户输入保存到返回的注释中;如果用户取消,则移除该注释。

配置

dart
CPDFConfiguration(
  annotationsConfig: CPDFAnnotationsConfig(
    autoShowNoteEditDialog: false,
  ),
);
配置项类型默认值说明
autoShowNoteEditDialogbooltrue创建 Note 注释后是否自动显示 SDK 默认编辑弹窗

与 interceptNoteAction 的区别

配置项作用场景说明
autoShowNoteEditDialog创建新的 Note 注释后控制是否自动显示默认 Note 编辑弹窗
interceptNoteAction点击已有 Note 注释时控制是否拦截已有 Note 的默认点击编辑行为

回调 API

dart
CPDFReaderWidget(
  document: documentPath,
  configuration: configuration,
  onAnnotationCreationPreparedCallback: (
    CPDFAnnotationType type,
    CPDFAnnotation? annotation,
  ) {
    if (type == CPDFAnnotationType.note && annotation is CPDFNoteAnnotation) {
      // 展示自定义 Note 弹窗。
    }
  },
);
参数说明
type当前准备创建或已创建的注释类型。该流程中为 CPDFAnnotationType.note
annotation已创建的 Note 注释对象。根据自定义弹窗结果更新或移除该对象

注意: 回调触发时,Note 注释已经添加到 PDF 页面中。如果用户取消自定义弹窗,请移除已创建的 Note 注释,避免页面残留空注释。