Foxit PDF SDK

构造函数 | 属性 | 所有成员列表
FSAnnot类 参考
类 FSAnnot 继承关系图:

## 构造函数
(BOOL) | - FSMoveWithResetAppearance:is_reset_appearance:
| 将当前注释移动到新位置，由中的新矩形指定。 更多...
(BOOL) | - FSResetApStreamWithIsGenerateNewAppearanceObj:
| 重置外观流。 更多...
(FSPDFStream *) | - getAppearanceStream:appearance_state:
| 获取具有指定类型和状态的注释外观流。 更多...
(FSRectI *) | - getDeviceRect:
| 获取设备坐标系统中的注释矩形。 更多...
(FSPDFDictionary *) | - getDict
| 获取注释的字典对象。 更多...
(FSMatrix2D *) | - getDisplayMatrix:
| 获取显示矩阵，从到 目标设备坐标系统。 更多...
(int) | - getIndex
| 获取当前注释在其所属页面中的索引。 更多...
(FSPDFDictionary *) | - getOptionalContent
| 获取注释可选内容的PDF字典。 更多...
(FSPDFPage *) | - getPage
| 获取相关的PDF页面。 更多...
(FSRectF *) | - getRect
| 获取矩形，以表示。 更多...
(FSAnnotType) | - getType
| 获取当前注释的实际注释类型。 更多...
(BOOL) | - hasProperty:
| 当前注释是否具有指定的注释属性。 更多...
(id) | - initWithAnnot:
| 构造函数，使用另一个注释对象。 更多...
(id) | - initWithPage:annot_dict:
| 构造函数，使用PDF页面和注释的PDF字典。 更多...
(BOOL) | - isEmpty
| 检查当前对象是否为空。 更多...
(BOOL) | - isMarkup
| 检查当前注释是否为标记注释。 更多...
(BOOL) | - move:
| 将当前注释移动到新位置，由中的新矩形指定。 更多...
(BOOL) | - removeProperty:
| 删除指定的注释属性。 更多...
(BOOL) | - resetAppearanceStream
| 重置外观流。 更多...

## 属性
unsigned int | borderColor
| 获取边框颜色。 更多...
FSBorderInfo * | borderInfo
| 获取边框信息。 更多...
NSString * | content
| 获取内容。
unsigned int | flags
| 获取注释标志。
FSDateTime * | modifiedDateTime
| 获取最后修改日期时间。
NSString * | uniqueID
| 获取唯一ID。

## 详细描述

注释将对象（如注记、声音或电影）与PDF文档页面上的位置关联起来， 或提供通过鼠标和键盘与用户交互的方式。PDF包含各种各样的 标准注释类型。
类FSAnnot 是所有PDF注释类型的基类。它提供获取/设置 注释公共属性、移动注释或重置注释外观流的基础函数。 对于具体的注释类型，请参考派生类。要获取注释计数或 获取/添加/移除注释，请参考类pdfPDFPage。
此类对象也可用于构造其他类的对象，以便在注释中进行更多操作 或访问注释的指定信息：

- 要访问附加动作，请使用注释对象构造FSAdditionalAction对象。 只有少数类型的注释可能有附加动作。有关更多详细信息，请参考 类FSAdditionalAction。
- 要在注释中搜索文本，请使用注释对象构造FSTextSearch对象。 搜索只能支持某些类型的注释。有关更多详细信息，请参考 类FSTextSearch。

注解
  目前，以下类型的函数仅支持注记、高亮、下划线、删除线、波浪线、链接、 矩形、圆形、自由文本、印章、插入符、墨迹、直线、多边形、折线、文件附件、弹出窗口、 小组件、屏幕、PSInk、编辑注释：
  - 类FSAnnot 中的所有"set"函数。
  - 函数FSAnnot::move:、FSAnnot::resetAppearanceStream、 FSAnnot::removeProperty:。

参见
  FSPDFPage
  FSAdditionalAction
  FSTextSearch

## 函数文档

## ◆ FSMoveWithResetAppearance:is_reset_appearance:()

- (BOOL) FSMoveWithResetAppearance: |  | (FSRectF*) | rect
is_reset_appearance: |  | (BOOL) | is_reset_appearance

将当前注释移动到新位置，由中的新矩形指定。

参数

  [in] | rect | 指定当前注释要移动到的新位置的新矩形。 它应该在中有效。
  [in] | is_reset_appearance | 布尔值，指定移动后是否重置注释的外观。

返回
  YES表示成功，而NO表示失败。

## ◆ FSResetApStreamWithIsGenerateNewAppearanceObj:()

- (BOOL) FSResetApStreamWithIsGenerateNewAppearanceObj: |  | (BOOL) | is_generate_new_appearance_obj |

重置外观流。

注释的外观作为流存储在PDF文档中。 任何与外观相关的属性都可以通过相应的设置函数进行更改。 为了使此更改生效，应调用此函数来更新注释的外观。
请查看类 FSAnnot 注释中的"注意"部分，了解哪些类型的注释可以 通过当前函数重置外观，并检查这些注释类的注释，以了解在重置外观流之前是否需要任何属性。

参数

  [in] | is_generate_new_appearance_obj | YES 表示生成新的外观对象来重置当前注释的外观， NO 表示重置共享此外观流的注释的外观。 该参数仅对小组件注释的外观有影响。

返回
  YES 表示成功，NO 表示失败。

## ◆ getAppearanceStream:appearance_state:()

- (FSPDFStream *) getAppearanceStream: |  | (FSAnnotAppearanceType) | type
appearance_state: |  | (NSString *) | appearance_state

获取具有指定类型和状态的注释外观流。

有关更多详细信息，请参考 <PDF参考1.7> 中 "表8.15 所有注释字典通用条目"中的"AP"和"AS"条目。

参数

  [in] | type | 注释外观类型。请参考 FSAnnotAppearanceTypeNormal 及相关值。
  [in] | appearance_state | 注释的外观状态，用于从外观子字典中选择适用的外观流。 如果为空字符串，Foxit PDF SDK 将选择注释字典中"AS"（外观状态）条目指定的外观状态。

返回
  指定的注释外观流。 如果没有与外观相关的条目或发生任何错误，此函数将返回 nil。

## ◆ getDeviceRect:()

- (FSRectI *) getDeviceRect: |  | (FSMatrix2D*) | matrix |

获取设备坐标系统中的注释矩形。

这是获取注释的设备矩形的有用函数， 但不支持弹出注释。
对于矩形转换，结果矩形始终是"标准化的"，即 使用设备坐标系统：左侧始终小于右侧，顶部始终小于底部。

参数

  [in] | matrix | 用于从转换到 设备坐标系统的矩阵。通常，这由函数 FSPDFPage::getDisplayMatrix:top:width:height:rotate:返回，也用于渲染。

返回
  设备坐标系统中的注释矩形。 如果没有矩形信息，将返回所有值为0的RectI对象。

## ◆ getDict()

- (FSPDFDictionary *) getDict |  |  |

获取注释的字典对象。

返回
  注释的字典。如果有任何错误，此函数将返回nil。

## ◆ getDisplayMatrix:()

- (FSMatrix2D *) getDisplayMatrix: |  | (FSMatrix2D*) | page_display_matrix |

获取显示矩阵，从到 目标设备坐标系统。

当前注释的显示矩阵可以与注释的矩形一起使用， 以计算注释在目标设备坐标系统中的实际区域。

参数

  [in] | page_display_matrix | The transformation matrix. Usually this is returned by function FSPDFPage::getDisplayMatrix:top:width:height:rotate:.

返回
  The display matrix of current annotation.

## ◆ getIndex()

- (int) getIndex |  |  |

获取当前注释在其所属页面中的索引。

返回
  索引值，从0开始。

## ◆ getOptionalContent()

- (FSPDFDictionary *) getOptionalContent |  |  |

获取注释可选内容的PDF字典。

返回
  注释可选内容的PDF字典。 如果没有"OC"条目或发生任何错误，此函数将返回 nil。

## ◆ getPage()

- (FSPDFPage *) getPage |  |  |

获取相关的PDF页面。

返回
  作为相关PDF页面的PDF页面对象。

## ◆ getRect()

- (FSRectF *) getRect |  |  |

获取矩形，以表示。

返回
  注释矩形。 如果没有矩形信息，将返回所有值为0的RectF对象。

## ◆ getType()

- (FSAnnotType) getType |  |  |

获取当前注释的实际注释类型。

返回
  注释类型。请参考从FSAnnotNote开始的值，这将是这些值中的一个。

## ◆ hasProperty:()

- (BOOL) hasProperty: |  | (FSAnnotProperty) | property |

当前注释是否具有指定的注释属性。

参数

  [in] | property | 属性名称。请参考从FSAnnotPropertyModifiedDate开始的值， 这应该是这些值中的一个。

返回
  YES表示当前注释具有指定的属性， 而NO表示当前注释没有指定的属性。

## ◆ initWithAnnot:()

- (id) initWithAnnot: |  | (FSAnnot*) | annot |

构造函数，使用另一个注释对象。

参数

  [in] | annot | 另一个注释对象。

被 FSRedact, FSSound, FSWidget, FSPopup, FSPSInk, FSFileAttachment, FSCaret, FSPolyLine, FSPolygon, FSScreen, FSStamp, FSCircle, FSSquare, FSLink, FSUnderline, FSStrikeOut, FSSquiggly, FSNote , 以及 FSMarkup 重载.

## ◆ initWithPage:annot_dict:()

- (id) initWithPage: |  | (FSPDFPage*) | page
annot_dict: |  | (FSPDFDictionary*) | annot_dict

构造函数，使用PDF页面和注释的PDF字典。

参数

  [in] | page | 有效的PDF页面。
  [in] | annot_dict | 注释的PDF字典。它应该表示一个注释，并且应该在 参数page指定的PDF页面中。

## ◆ isEmpty()

- (BOOL) isEmpty |  |  |

检查当前对象是否为空。

当当前对象为空时，这意味着当前对象是无用的。

返回
  YES表示当前对象为空，而NO表示不为空。

## ◆ isMarkup()

- (BOOL) isMarkup |  |  |

检查当前注释是否为标记注释。

返回
  YES表示当前注释是标记注释，而NO表示当前注释 不是标记注释。

## ◆ move:()

- (BOOL) move: |  | (FSRectF*) | rect |

将当前注释移动到新位置，由中的新矩形指定。

参数

  [in] | rect | 指定当前注释要移动到的新位置的新矩形。 它应该在中有效。

返回
  YES表示成功，而NO表示失败。

## ◆ removeProperty:()

- (BOOL) removeProperty: |  | (FSAnnotProperty) | property |

删除指定的注释属性。

此函数可用于删除注释的某些可选属性。 当成功删除与外观相关的属性时，例如 FSAnnotPropertyBorderColor 和 FSAnnotPropertyFillColor， 用户应调用函数 FSAnnot::resetAppearanceStream 以在注释外观上产生效果。

参数

  [in] | property | 属性名称。请参考从 FSAnnotPropertyModifiedDate 开始的值， 应为这些值中的一个。

返回
  YES 表示成功删除指定属性，或当前注释支持该属性但没有该属性。
  NO 表示当前注释不支持拥有指定属性，或当前注释无法删除指定属性。

## ◆ resetAppearanceStream()

- (BOOL) resetAppearanceStream |  |  |

重置外观流。

注释的外观作为流存储在PDF文档中。 任何与外观相关的属性都可以通过相应的设置函数进行更改。 为了使此更改生效，应调用此函数来更新注释的外观。
请查看类 FSAnnot 注释中的"注意"部分，了解哪些类型的注释可以 通过当前函数重置外观，并检查这些注释类的注释，以了解在重置外观流之前是否需要任何属性。

返回
  YES 表示成功，NO 表示失败。

## 属性说明

## ◆ borderColor

- (unsigned int) borderColor
| read write nonatomic assign

获取边框颜色。

此属性对注释的外观有影响。

## ◆ borderInfo

- (FSBorderInfo *) borderInfo
| read write nonatomic weak

获取边框信息。

此属性对注释的外观有影响。对于没有边框信息的注释，将返回默认边框信息：
边框宽度 = 1，边框样式 = FSBorderInfoSolid， 边框云状强度 = 0，边框虚线相位 = 0，边框虚线数组为空数组。 注意：在支持的注释类型中（请参考类 FSAnnot 的"注意"注释部分）， 此属性对以下注释的外观不起作用： 注记、高亮、下划线、删除线、波浪线、印章、插入符、弹出窗口、文件附件、PSInk、编辑。 对于墨迹注释，只有边框宽度对墨迹注释的外观有影响。