Skip to content

更新注释外观

注释可能包含描述其外观的属性,例如注释颜色或形状。但是,这些并不能保证注释在不同的 PDF 阅读器中显示相同。为了解决这个问题,每个注释可以定义一个应用于渲染注释的外观流。

ComPDFKit PDF SDK 在修改注释属性时默认会更新注释的外观。您还可以通过调用updateAppearanceStream方法手动更新外观,但当修改文本、图章、签名注释的大小时,必须手动调用updateAppearanceStream方法,可以参考CPDFAnnotation类中的以下方法。

objective-c
- (void)updateAppearanceStream;

设置注释的自定义外观流非常容易。通常在图章注释中会进行这一操作,因为它们没有其他属性。以这种方式使用的图章注释通常被称为图像注释。

以下部分介绍了如何设置与页面旋转不匹配的注释外观。

如果设置了该选项,则不会将注释的外观旋转以适应页面的旋转。注释边界的左上角将保持在页面上的固定位置。

objective-c
CPDFKitShareConfig.enableAnnotationNoRotate = YES;

此外,对于文本注释,请参考PDFListView类中的以下方法。

objective-c
- (void)addAnnotationFreeTextAtPoint:(CGPoint)point forPage:(CPDFPage *)page;
- (void)drawPage:(CPDFPage *)page toContext:(CGContextRef)context;
- (void)moveAnnotation:(CPDFAnnotation *)annotation fromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint forType:(PDFAnnotationDraggingType)draggingType;