本页内容
注释回复
注释回复功能使您和其他用户能够直接在文档中进行书面讨论。ComPDFKit 为访问文档中的回复提供了方便的 API,同时还提供了用于查看和编辑回复的用户界面(UI)组件。
创建文本回复
文本回复功能可以在注释下添加文本回复,常用于对注释的书面讨论。
创建文本回复的步骤如下:
从 CPDFDocument 上获取到需要创建文本回复的页面对象。
在页面对象上获取注释
在注释上创建文本回复注释,并添加回复内容
以下是创建文本回复的示例代码:
swift
// 获取需要创建便签的页面对象
if let page = document?.page(at: 0) {
// 在页面中获取注释
let annotation = page.annotations[0]
// 创建注释回复并添加回复内容
let reply = annotation?.createReply()
reply?.contents = "ComPDFKit"
}
objective-c
// 获取需要创建便签的页面对象
CPDFPage *page = [document pageAtIndex:0];
// 在页面中获取注释
CPDFAnnotation *annotation = page.annotations[0];
// 创建注释回复并添加回复内容
CPDFAnnotation *reply = [annotation createReplyAnnotation];
reply.contents = @"ComPDFKit";
创建状态回复
状态回复功能可以标记注释的状态,分为勾选状态和评论状态,可通过CPDFAnnotationState
枚举类型区分状态类型。
创建状态回复的步骤如下:
从 CPDFDocument 上获取到需要创建状态回复的页面对象。
在页面对象上获取注释
在注释上创建勾选状态回复注释和评论状态回复注释
以下是创建状态回复的示例代码:
swift
// 获取需要创建便签的页面对象
if let page = document?.page(at: 0) {
// 在页面中获取注释
let annotation = page.annotations[0]
// 创建勾选状态回复
let mark = annotation?.createReplyStateAnnotation(.marked)
// 创建评论状态回复
let mark = annotation?.createReplyStateAnnotation(.rejected)
}
objective-c
// 获取需要创建便签的页面对象
CPDFPage *page = [document pageAtIndex:0];
// 在页面中获取注释
CPDFAnnotation *annotation = page.annotations[0];
// 创建勾选状态回复
CPDFAnnotation *mark = [annotation createReplyStateAnnotation:CPDFAnnotationStateMarked];
// 创建评论状态回复
CPDFAnnotation *review = [annotation createReplyStateAnnotation:CPDFAnnotationStateRejected];
状态回复注释类型枚举
Name | Description |
---|---|
CPDFAnnotationStateMarked | 勾选状态,用于勾选状态回复 |
CPDFAnnotationStateUnMarked | 非勾选状态,用于勾选状态回复 |
CPDFAnnotationStateAccepted | 接受状态,用于评论状态回复 |
CPDFAnnotationStateRejected | 拒绝状态,用于评论状态回复 |
CPDFAnnotationStateCanceled | 取消状态,用于评论状态回复 |
CPDFAnnotationStateCompleted | 完成状态,用于评论状态回复 |
CPDFAnnotationStateNone | 无状态,用于评论状态回复 |
CPDFAnnotationStateError | 状态错误 |
获取所有回复
获取所有回复功能可以获取注释下的所有回复,包括文本回复和状态回复,可通过CPDFReplyAnnotationType
枚举类型区分回复类型。
获取所有回复的步骤如下:
- 从 CPDFDocument 上获取到需要的页面对象。
- 在页面对象上获取注释
- 获取注释的所有回复,并区分回复类型
以下是创建状态回复的示例代码:
swift
// 获取需要创建便签的页面对象
if let page = document?.page(at: 0) {
// 在页面中获取注释
let annotation = page.annotations[0]
// 获取注释的所有回复
let replies = annotation.replyAnnotations ?? []
for reply in replies {
if reply.replyAnnotationType == .reply {
// 文本回复注释类型
} else if reply.replyAnnotationType == .mark {
// 勾选状态回复注释类型
} else if reply.replyAnnotationType == .review {
// 评论状态回复注释类型
}
}
}
objective-c
// 获取需要创建便签的页面对象
CPDFPage *page = [document pageAtIndex:0];
// 在页面中获取注释
CPDFAnnotation *annotation = page.annotations[0];
// 获取注释的所有回复
NSArray<CPDFAnnotation *> *replies = [annotation replyAnnotations];
for (CPDFAnnotation *reply in replies) {
if (reply.replyAnnotationType == CPDFReplyAnnotationTypeReply) {
// 文本回复注释类型
} else if (reply.replyAnnotationType == CPDFReplyAnnotationTypeMark) {
// 勾选状态回复注释类型
} else if (reply.replyAnnotationType == CPDFReplyAnnotationTypeReview) {
// 评论状态回复注释类型
}
}
注释的回复类型枚举
Name | Description |
---|---|
CPDFReplyAnnotationTypeNone | 非回复注释类型,用于区分回复注释和普通注释 |
CPDFReplyAnnotationTypeReply | 文本回复注释类型 |
CPDFReplyAnnotationTypeMark | 勾选状态回复注释类型 |
CPDFReplyAnnotationTypeReview | 评论状态回复注释类型 |