Skip to content
ComPDF
Guides

预定义注释

预定义注释功能允许您设置默认的注释属性,在创建新注释时会自动应用这些预设属性。您可以通过 CPDFConfigurationCPDFReaderView 来设置预定义注释属性。

以下是如何设置预定义注释属性的示例:

通过 CPDFConfiguration 设置预定义注释属性

tsx
<CPDFReaderView
  ref={pdfReaderRef}
  document={samplePDF}
  configuration={ComPDFKit.getDefaultConfig({
    modeConfig: {
      initialViewMode: CPDFViewMode.ANNOTATIONS,
      uiVisibilityMode: "automatic",
    },
    toolbarConfig: {
      annotationToolbarVisible: true,
    },
    annotationsConfig: {
      initAttribute: {
        note: {
          type: "note",
          color: "#FF0000",
          alpha: 255
        },
        highlight: {
          type: "highlight",
          color: "#FFFF00",
          alpha: 128
        },
        freeText: {
          type: "freetext",
          fontSize: 18,
          familyName: "Times",
          styleName: "Bold",
        },
      },
    },
  })}
  />

更多注释可预定义的属性请参考 initAttribute 的定义。

通过 CPDFReaderWidgetController 设置预定义注释属性

tsx
// 获取当前定义的注释默认属性
const annotationsAttr = await pdfReaderRef.current?.fetchDefaultAnnotationStyle();

// 修改默认属性
// 修改便签注释属性
const noteAttr: CPDFTextAttr = {
  type: "note",
  color: "#FF0000",
  alpha: 100,
};
await pdfReaderRef.current?.updateDefaultAnnotationStyle(noteAttr);

// 修改 Ink 注释属性
const inkAttr: CPDFInkAttr = {
  type: "ink",
  color: "#800080",
  alpha: 255,
  borderWidth: 5,
};
await pdfReaderRef.current?.updateDefaultAnnotationStyle(inkAttr);

此外,还可以通过属性面板弹窗修改默认注释属性:

tsx
await pdfReaderRef.current?.showDefaultAnnotationPropertiesView(CPDFAnnotationType.highlight);