Skip to content

注释回复及评论

注释回复功能使您和其他用户能够直接在文档中进行书面讨论。ComPDFKit 为访问文档中的回复提供了方便的 API,同时还提供了用于查看和编辑回复的用户界面(UI)组件。

创建文本回复

文本回复功能可以在注释下添加文本回复,常用于对注释的书面讨论。

创建文本回复的步骤如下:

  1. 从 CPDFDocument 上获取到需要创建文本回复的页面对象。

  2. 在页面对象上获取注释

  3. 在注释上创建文本回复注释,并添加回复内容

以下是创建文本回复的示例代码:

java
// 获取需要创建便签的页面对象
CPDFPage page = document.pageAtIndex(0);
// 在页面中获取注释
CPDFAnnotation annotation = page.getAnnotations().get(0);

// 创建注释回复并添加回复内容
CPDFReplyAnnotation replyAnnotation = annotation.createReplyAnnotation();
replyAnnotation.setContent("ComPDFKit");
kotlin
// 获取需要创建便签的页面对象
val page = document.pageAtIndex(0)
// 在页面中获取注释
val annotation = page.annotations[0]

// 创建注释回复并添加回复内容
val replyAnnotation = annotation.createReplyAnnotation()
replyAnnotation.content = "ComPDFKit"

创建状态回复

状态回复功能可以标记注释的状态,分为勾选状态和评论状态,可通过CPDFAnnotation.MarkState枚举类型区分状态类型。

创建状态回复的步骤如下:

  1. CPDFDocument 上获取到需要创建状态回复的页面对象。

  2. 在页面对象上获取注释

  3. 在注释上创建勾选状态回复注释和评论状态回复注释

以下是创建状态回复的示例代码:

java
// 获取需要创建便签的页面对象
CPDFPage page = document.pageAtIndex(0);
// 在页面中获取注释
CPDFAnnotation annotation = page.getAnnotations().get(0);

// 创建勾选状态回复
annotation.setMarkedAnnotState(CPDFAnnotation.MarkState.MARKED);
// 创建评论状态回复
annotation.setReviewAnnotState(CPDFAnnotation.ReviewState.REVIEW_REJECTED);
kotlin
// 获取需要创建便签的页面对象
val page = document.pageAtIndex(0)
// 在页面中获取注释
val annotation = page.annotations[0]

// 创建勾选状态回复
annotation.setMarkedAnnotState(CPDFAnnotation.MarkState.MARKED)
// 创建评论状态回复
annotation.setReviewAnnotState(CPDFAnnotation.ReviewState.REVIEW_REJECTED)

状态回复注释类型枚举

NameDescription
CPDFAnnotation.MarkState.MARKED勾选状态,用于勾选状态回复
CPDFAnnotation.MarkState.UNMARKED非勾选状态,用于勾选状态回复
CPDFAnnotation.ReviewState.REVIEW_ACCEPTED接受状态,用于评论状态回复
CPDFAnnotation.ReviewState.REVIEW_REJECTED拒绝状态,用于评论状态回复
CPDFAnnotation.ReviewState.REVIEW_CANCELLED取消状态,用于评论状态回复
CPDFAnnotation.ReviewState.REVIEW_COMPLETED完成状态,用于评论状态回复
CPDFAnnotation.ReviewState.REVIEW_NONE无状态,用于评论状态回复
CPDFAnnotation.ReviewState.REVIEW_ERROR状态错误

获取所有回复

获取所有回复功能可以获取注释下的所有回复,包括文本回复和状态回复。

  1. 从 CPDFDocument 上获取到需要的页面对象。
  2. 在页面对象上获取注释
  3. 获取注释的所有回复数据

以下是获取状态回复的示例代码:

java
// 获取需要创建便签的页面对象
CPDFPage page = document.pageAtIndex(0);
// 在页面中获取注释
CPDFAnnotation annotation = page.getAnnotations().get(0);

// 获取注释的所有回复
CPDFReplyAnnotation[] replyAnnotations = annotation.getAllReplyAnnotations();
// 获取勾选状态恢复注释类型
CPDFAnnotation.MarkState markState = cpdfAnnotation.getMarkedAnnotState();
// 评论状态回复注释类型
CPDFAnnotation.ReviewState reviewState = cpdfAnnotation.getReviewAnnotState();
kotlin
// 获取需要创建便签的页面对象
CPDFPage page = document.pageAtIndex(0)
// 在页面中获取注释
CPDFAnnotation annotation = page.annotations[0]

// 获取注释的所有回复
val replyAnnotations = annotation.allReplyAnnotations
// 获取勾选状态恢复注释类型
CPDFAnnotation.MarkState markState = cpdfAnnotation.markedAnnotState
// 评论状态回复注释类型
CPDFAnnotation.ReviewState reviewState = cpdfAnnotation.reviewAnnotState