Foxit PDF SDK

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

## 构造函数
(FSNote *) | - addReply
| 在回复列表的末尾添加新回复。 更多...
(void) | - addRichText:style:
| 在末尾添加新的富文本字符串。 更多...
(FSNote *) | - addStateAnnot:model:state:
| 添加新的状态注释。 更多...
(FSMarkupArray *) | - getGroupElements
| 从当前标记注释所属的组中获取一个元素（作为标记注释）。 更多...
(FSMarkup *) | - getGroupHeader
| 获取当前标记注释所属组的头注释（作为主注释）。 更多...
(FSNote *) | - getReply:
| 按索引获取回复。 更多...
(int) | - getReplyCount
| 计算所有回复。 更多...
(NSString *) | - getRichTextContent:
| 获取指定索引的富文本字符串的文本字符串。 更多...
(int) | - getRichTextCount
| 获取富文本字符串的数量。 更多...
(FSRichTextStyle *) | - getRichTextStyle:
| 获取指定索引的富文本字符串的样式数据。 更多...
(FSNoteArray *) | - getStateAnnots:
| 获取指定状态模型中的所有状态注释。 更多...
(id) | - initWithAnnot:
| 构造函数，使用父类对象。 更多...
(void) | - insertRichText:content:style:
| 在指定索引位置插入新的富文本字符串。 更多...
(BOOL) | - isGrouped
| 检查当前标记注释是否在组中。 更多...
(BOOL) | - removeAllReplies
| 删除所有回复。 更多...
(BOOL) | - removeAllStateAnnots
| 移除所有状态注释。 更多...
(BOOL) | - removePopup
| 删除相关的弹出注释。 更多...
(BOOL) | - removeReply:
| 按索引删除回复。 更多...
(void) | - removeRichText:
| 移除指定索引的富文本字符串。 更多...
(void) | - setRichTextContent:content:
| 设置指定索引的富文本字符串的文本字符串。 更多...
(void) | - setRichTextStyle:style:
| 设置指定索引的富文本字符串的样式数据。 更多...
(BOOL) | - ungroup
| 将当前标记注释从其所属的组中解组。 更多...
构造函数 继承自 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) | - initWithPage:annot_dict:
| 构造函数，使用PDF页面和注释的PDF字典。 更多...
(BOOL) | - isEmpty
| 检查当前对象是否为空。 更多...
(BOOL) | - isMarkup
| 检查当前注释是否为标记注释。 更多...
(BOOL) | - move:
| 将当前注释移动到新位置，由中的新矩形指定。 更多...
(BOOL) | - removeProperty:
| 删除指定的注释属性。 更多...
(BOOL) | - resetAppearanceStream
| 重置外观流。 更多...

## 属性
float | borderOpacity
| 获取注释的边框透明度。
FSDateTime * | creationDateTime
| 获取创建日期时间。
float | fillOpacity
| 获取注释的填充透明度。
NSString * | intent
| 获取意图名称。 更多...
float | opacity
| 获取不透明度值。 更多...
FSPopup * | popup
| 获取相关的弹出注释。 更多...
NSString * | subject
| 获取主题字符串。
NSString * | title
| 获取标题字符串。 更多...
属性 继承自 FSAnnot
unsigned int | borderColor
| 获取边框颜色。 更多...
FSBorderInfo * | borderInfo
| 获取边框信息。 更多...
NSString * | content
| 获取内容。
unsigned int | flags
| 获取注释标志。
FSDateTime * | modifiedDateTime
| 获取最后修改日期时间。
NSString * | uniqueID
| 获取唯一ID。

## 详细描述

标记注释主要用于标记PDF文档。这些注释包含文本， 作为注释的一部分出现，并且可能由查看器应用程序以其他方式显示，例如在注释窗格中。
类FSMarkup派生自类FSAnnot ，也是所有PDF标记注释的基类。 它提供获取/设置标记注释公共属性的基础函数。 对于具体的标记注释类型，请参考派生类。
函数FSAnnot::isMarkup可用于判断注释是否为标记注释。

注解
  目前，以下类型的函数仅支持注记、高亮、下划线、删除线、波浪线、 矩形、圆形、自由文本、印章、插入符、墨迹、直线、多边形、折线、文件附件注释：
  - 类FSMarkup 中的所有"set"函数。
  - 函数FSAnnot::resetAppearanceStream（从FSMarkup 的父类继承）。

参见
  FSAnnot

## 函数文档

## ◆ addReply()

- (FSNote *) addReply |  |  |

在回复列表的末尾添加新回复。

返回
  表示新回复注释的新便签注释。

## ◆ addRichText:style:()

- (void) addRichText: |  | (NSString *) | content
style: |  | (FSRichTextStyle*) | style

在末尾添加新的富文本字符串。

标记注释的内容可以由多个富文本字符串组成。 特别地，如果当前注释是自由文本且其意图是"FreeTextTypewriter"，输入样式的文本对齐方式将 被设置给当前自由文本注释的所有富文本字符串。

参数

  [in] | content | 用作新富文本字符串内容的文本字符串。这不应是空字符串。
  [in] | style | 用于新富文本字符串的样式数据。

返回
  无。

## ◆ addStateAnnot:model:state:()

- (FSNote *) addStateAnnot: |  | (NSString *) | title
model: |  | (FSMarkupStateModel) | model
state: |  | (FSMarkupState) | state

添加新的状态注释。

标记注释可能有一个或多个与其关联的作者特定状态。每个状态不是在注释本身中指定的， 而是在单独的注记注释中指定的。

- 对于状态模型 FSMarkupStateModelReview，每次调用此函数时都会添加一个新的状态注释。
- 对于状态模型 FSMarkupStateModelMarked，此函数将查找具有此模型且 标题与输入参数 title 相同的最新状态注释：如果找到一个，此函数将更改找到的状态注释的状态值并 直接返回找到的状态注释；如果没有找到任何合适的状态注释，此函数将添加一个新的并 返回新的状态注释。

参数

  [in] | title | 新状态注释的标题。标题可用于识别添加当前注释的用户。 这可以是空字符串，但强烈建议用户在使用此函数时设置有意义的标题。
  [in] | model | 新状态注释的状态模型。应为以下值之一： FSMarkupStateModelMarked FSMarkupStateModelReview
  [in] | state | 新状态注释的状态值。应为以下值之一： 如果参数 model 是 FSMarkupStateModelMarked， 状态应为 FSMarkupStateMarked 或 FSMarkupStateUnmarked。 如果参数 model 是 FSMarkupStateModelReview， 状态应为 FSMarkupStateAccepted、FSMarkupStateRejected、 FSMarkupStateCancelled、FSMarkupStateCompleted、 FSMarkupStateDeferred、FSMarkupStateFuture 或 FSMarkupStateNone。

返回
  表示新状态注释的注记注释。返回的状态注释的最后修改日期时间 默认情况下将设置为当前本地系统时间。

## ◆ getGroupElements()

- (FSMarkupArray *) getGroupElements |  |  |

从当前标记注释所属的组中获取一个元素（作为标记注释）。

标记注释可以分组。组由一个主注释和一个或多个从属注释组成。 主注释中的一些条目被视为应适用于整个组的组属性； 从属注释中的相应条目应被忽略。这些条目包括内容、最后修改时间、填充颜色/边框颜色、 标题、弹出注释、创建时间、主题和打开状态。因此用户应尊重 组属性：当组中注释的属性发生更改时，同一组中的其他注释也应进行更改。
操作组中任何注释的操作，如移动、剪切和复制，查看器应用程序应将其视为 作用于整个组。

返回
  包含组中所有标记注释的数组。 如果当前注释不属于组，此函数将返回空数组。

## ◆ getGroupHeader()

- (FSMarkup *) getGroupHeader |  |  |

获取当前标记注释所属组的头注释（作为主注释）。

标记注释可以分组。组由一个主注释和一个或多个从属注释组成。 主注释中的一些条目被视为应适用于整个组的组属性； 从属注释中的相应条目应被忽略。这些条目包括内容、最后修改时间、填充颜色/边框颜色、 标题、弹出注释、创建时间、主题和打开状态。因此用户应尊重 组属性：当组中注释的属性发生更改时，同一组中的其他注释也应进行更改。
操作组中任何注释的操作，如移动、剪切和复制，查看器应用程序应将其视为 作用于整个组。

返回
  当前标记注释所属组的头标记注释。 如果返回的标记注释对象的函数 FSAnnot::isEmpty（从 Markup 的父类继承） 的返回值为 YES，则表示当前注释不属于组。

## ◆ getReply:()

- (FSNote *) getReply: |  | (int) | index |

按索引获取回复。

参数

  [in] | index | 指定回复的索引。有效范围：从 0 到 (count-1)。 count 由函数 FSMarkup::getReplyCount 返回。

返回
  表示指定回复注释的便签注释。

## ◆ getReplyCount()

- (int) getReplyCount |  |  |

计算所有回复。

返回
  回复的数量。

## ◆ getRichTextContent:()

- (NSString *) getRichTextContent: |  | (int) | index |

获取指定索引的富文本字符串的文本字符串。

标记注释的内容可以由多个富文本字符串组成。

参数

  [in] | index | 要检索其内容的富文本字符串的索引。有效范围：从 0 到（count-1）。 count 由函数 FSMarkup::getRichTextCount 返回。

返回
  指定富文本的文本字符串。

## ◆ getRichTextCount()

- (int) getRichTextCount |  |  |

获取富文本字符串的数量。

标记注释的内容可以由多个富文本字符串组成。

返回
  富文本字符串的数量。

## ◆ getRichTextStyle:()

- (FSRichTextStyle *) getRichTextStyle: |  | (int) | index |

获取指定索引的富文本字符串的样式数据。

标记注释的内容可以由多个富文本字符串组成。

参数

  [in] | index | 要检索其样式数据的富文本字符串的索引。有效范围：从 0 到（count-1）。 count 由函数 FSMarkup::getRichTextCount 返回。

返回
  指定富文本字符串的样式数据。

## ◆ getStateAnnots:()

- (FSNoteArray *) getStateAnnots: |  | (FSMarkupStateModel) | model |

获取指定状态模型中的所有状态注释。

标记注释可能有一个或多个与其关联的作者特定状态。每个状态不是在注释本身中指定的， 而是在单独的注记注释中指定的。

参数

  [in] | model | 状态模型。应为以下值之一： FSMarkupStateModelMarked FSMarkupStateModelReview

返回
  表示指定状态模型中所有状态注释的注记注释数组。 此数组中的所有注释将按时间顺序排列。

## ◆ initWithAnnot:()

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

构造函数，使用父类对象。

参数

  [in] | annot | 父类对象。

重载 FSAnnot .

被 FSRedact, FSSound, FSFileAttachment, FSCaret, FSPolyLine, FSPolygon, FSStamp, FSCircle, FSSquare, FSUnderline, FSStrikeOut, FSSquiggly , 以及 FSNote 重载.

## ◆ insertRichText:content:style:()

- (void) insertRichText: |  | (int) | index
content: |  | (NSString *) | content
style: |  | (FSRichTextStyle*) | style

在指定索引位置插入新的富文本字符串。

标记注释的内容可以由多个富文本字符串组成。 特别地，如果当前注释是自由文本且其意图是"FreeTextTypewriter"，输入样式的文本对齐方式将 被设置给当前自由文本注释的所有富文本字符串。

参数

  [in] | index | 要在其处插入富文本字符串的样式数据的索引。有效范围：从 0 到 count。 count 由函数 FSMarkup::getRichTextCount 返回。 如果输入值等于富文本字符串数量，这意味着将新富文本字符串添加到末尾。 在这种情况下，此函数等同于函数 FSMarkup::addRichText:style:。
  [in] | content | 用作新富文本字符串内容的文本字符串。这不应是空字符串。
  [in] | style | 用于新富文本字符串的样式数据。

返回
  无。

## ◆ isGrouped()

- (BOOL) isGrouped |  |  |

检查当前标记注释是否在组中。

标记注释可以分组。组由一个主注释和一个或多个从属注释组成。 主注释中的一些条目被视为应适用于整个组的组属性； 从属注释中的相应条目应被忽略。这些条目包括内容、最后修改时间、填充颜色/边框颜色、 标题、弹出注释、创建时间、主题和打开状态。因此用户应尊重 组属性：当组中注释的属性发生更改时，同一组中的其他注释也应进行更改。
操作组中任何注释的操作，如移动、剪切和复制，查看器应用程序应将其视为 作用于整个组。

返回
  YES 表示当前标记注释在组中。 NO 表示当前标记注释不属于任何组。

## ◆ removeAllReplies()

- (BOOL) removeAllReplies |  |  |

删除所有回复。

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

## ◆ removeAllStateAnnots()

- (BOOL) removeAllStateAnnots |  |  |

移除所有状态注释。

状态注释由注记注释表示，因此移除状态注释意味着 从页面中移除此类注记注释（及其弹出注释，如果有的话）。

返回
  YES 表示成功移除所有状态注释或当前注释没有任何状态注释， NO 表示失败。

## ◆ removePopup()

- (BOOL) removePopup |  |  |

删除相关的弹出注释。

返回
  YES表示相关的弹出注释被成功删除， 而NO表示当前标记注释没有相关的弹出注释。

## ◆ removeReply:()

- (BOOL) removeReply: |  | (int) | index |

按索引删除回复。

如果指定的回复有自己的回复，这些子回复将同时被删除。

参数

  [in] | index | 要删除的指定回复的索引。有效范围：从 0 到 (count-1)。 count 由函数 FSMarkup::getReplyCount 返回。

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

## ◆ removeRichText:()

- (void) removeRichText: |  | (int) | index |

移除指定索引的富文本字符串。

标记注释的内容可以由多个富文本字符串组成。

参数

  [in] | index | 要在其处插入样式数据的富文本字符串的索引。有效范围：从 0 到（count-1）。 count 由函数 FSMarkup::getRichTextCount 返回。

返回
  无。

## ◆ setRichTextContent:content:()

- (void) setRichTextContent: |  | (int) | index
content: |  | (NSString *) | content

设置指定索引的富文本字符串的文本字符串。

标记注释的内容可以由多个富文本字符串组成。

参数

  [in] | index | 要设置其内容的富文本字符串的索引。有效范围：从 0 到（count-1）。 count 由函数 FSMarkup::getRichTextCount 返回。
  [in] | content | 要设置为指定富文本内容的文本字符串。这不应是空字符串。

返回
  无。

## ◆ setRichTextStyle:style:()

- (void) setRichTextStyle: |  | (int) | index
style: |  | (FSRichTextStyle*) | style

设置指定索引的富文本字符串的样式数据。

标记注释的内容可以由多个富文本字符串组成。
特别地，如果当前注释是自由文本且其意图是"FreeTextTypewriter"，输入样式的文本对齐方式将 被设置给当前自由文本注释的所有富文本字符串。

参数

  [in] | index | 要检索其样式数据的富文本字符串的索引。有效范围：从 0 到（count-1）。 count 由函数 FSMarkup::getRichTextCount 返回。
  [in] | style | 用于设置到指定富文本的样式数据。

返回
  无。

## ◆ ungroup()

- (BOOL) ungroup |  |  |

将当前标记注释从其所属的组中解组。

- 如果当前标记注释只是组头，此函数将解散整个组。
- 如果当前标记注释只是组的成员，此函数将仅将当前标记注释从其所属的组中解组。
- 如果当前标记注释不属于任何组，此函数将不执行任何操作并直接返回 NO。

返回
  YES 表示成功，NO 表示当前标记注释不属于任何组。

## 属性说明

## ◆ intent

- (NSString *) intent
| read write nonatomic weak

获取意图名称。

以下注释类型具有预定义的意图名称：

- 自由文本注释的预定义意图名称："FreeTextCallout"、"FreeTextTypewriter"。 如果未使用意图名称，自由文本注释将显示为文本框。
- 直线注释的预定义意图名称："LineArrow"、"LineDimension"。 如果未使用意图名称，直线注释将显示为普通直线。
- 多边形的预定义意图名称："PolygonCloud"、"PolygonDimension"。 如果未使用意图名称，多边形注释将显示为普通多边形。
- 折线注释的预定义意图名称："PolyLineDimension"。 如果未使用意图名称，折线注释将显示为普通折线。

## ◆ opacity

- (float) opacity
| read write nonatomic assign

获取不透明度值。

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

## ◆ popup

- (FSPopup *) popup
| read write nonatomic weak

获取相关的弹出注释。

大多数标记注释都可以有弹出注释来显示其内容，除了声音和自由文本注释：

- 声音注释没有弹出注释。
- 自由文本注释直接在页面上显示文本，因此不需要弹出注释。

尽管在某些特殊（或错误）的PDF文档中，声音或自由文本注释可能有弹出注释， 但它们仍然不需要弹出注释。

## ◆ title

- (NSString *) title
| read write nonatomic weak

获取标题字符串。

按惯例，注释的标题可用于识别添加当前注释的用户。