如何使用 objective c 向我的 pdf 添加注释?
How to add anotation to my pdf using objective c?
我对 objective c 和 Apple 的 PdfKit 框架还很陌生,我无法在我的 pdf 上绘制注释。
我在控制台上没有收到任何错误。
这是我的代码:
PDFAnnotation * observation = [[PDFAnnotation alloc] init];
CGRect cgRect = CGRectMake(20, 20, 120, 120);
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.bounds = cgRect;
observation.shouldDisplay = true;
observation.backgroundColor = UIColor.redColor;
observation.widgetFieldType= PDFAnnotationWidgetSubtypeButton;
[page addAnnotation:observation];
有人知道为什么我的 pdf 注释没有绘制在我的 pdf 上吗?
我还想知道 objective c 是否完全支持 PdfKit 框架,因为苹果的文档中只有使用 swift.
制作的示例
感谢您的帮助!
您的注释未绘制,因为您忘记设置 type
。这可能是一个错误,因为您设置了 widgetFieldType
两次。这是正确的按钮小部件设置:
PDFAnnotation *observation = [[PDFAnnotation alloc] init];
observation.bounds = CGRectMake(20, 20, 200, 100);
observation.type = PDFAnnotationSubtypeWidget;
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.widgetControlType = kPDFWidgetCheckBoxControl;
observation.backgroundColor = UIColor.redColor;
[page addAnnotation:observation];
为避免以后出现此类错误,请使用以下初始化程序:
- (instancetype)initWithBounds:(CGRect)bounds
forType:(PDFAnnotationSubtype)annotationType
withProperties:(NSDictionary *)properties;
并将设置代码更改为:
PDFAnnotation *observation = [[PDFAnnotation alloc] initWithBounds:CGRectMake(20, 20, 200, 100)
forType:PDFAnnotationSubtypeWidget
withProperties:nil];
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.widgetControlType = kPDFWidgetCheckBoxControl;
observation.backgroundColor = UIColor.redColor;
[page addAnnotation:observation];
我强烈建议最后设置外观(如 backgroundColor
)。因为当你更改类型时,所有这些值都会被 PDFKit 修改。
还要注意 0, 0
是 bottom/left 角 (bounds
)。
我对 objective c 和 Apple 的 PdfKit 框架还很陌生,我无法在我的 pdf 上绘制注释。
我在控制台上没有收到任何错误。 这是我的代码:
PDFAnnotation * observation = [[PDFAnnotation alloc] init];
CGRect cgRect = CGRectMake(20, 20, 120, 120);
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.bounds = cgRect;
observation.shouldDisplay = true;
observation.backgroundColor = UIColor.redColor;
observation.widgetFieldType= PDFAnnotationWidgetSubtypeButton;
[page addAnnotation:observation];
有人知道为什么我的 pdf 注释没有绘制在我的 pdf 上吗? 我还想知道 objective c 是否完全支持 PdfKit 框架,因为苹果的文档中只有使用 swift.
制作的示例感谢您的帮助!
您的注释未绘制,因为您忘记设置 type
。这可能是一个错误,因为您设置了 widgetFieldType
两次。这是正确的按钮小部件设置:
PDFAnnotation *observation = [[PDFAnnotation alloc] init];
observation.bounds = CGRectMake(20, 20, 200, 100);
observation.type = PDFAnnotationSubtypeWidget;
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.widgetControlType = kPDFWidgetCheckBoxControl;
observation.backgroundColor = UIColor.redColor;
[page addAnnotation:observation];
为避免以后出现此类错误,请使用以下初始化程序:
- (instancetype)initWithBounds:(CGRect)bounds
forType:(PDFAnnotationSubtype)annotationType
withProperties:(NSDictionary *)properties;
并将设置代码更改为:
PDFAnnotation *observation = [[PDFAnnotation alloc] initWithBounds:CGRectMake(20, 20, 200, 100)
forType:PDFAnnotationSubtypeWidget
withProperties:nil];
observation.widgetFieldType = PDFAnnotationWidgetSubtypeButton;
observation.widgetControlType = kPDFWidgetCheckBoxControl;
observation.backgroundColor = UIColor.redColor;
[page addAnnotation:observation];
我强烈建议最后设置外观(如 backgroundColor
)。因为当你更改类型时,所有这些值都会被 PDFKit 修改。
还要注意 0, 0
是 bottom/left 角 (bounds
)。