Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit::pdf::annots::Ink类 参考
类 foxit::pdf::annots::Ink 继承关系图:

## Public 成员函数
| Ink ()
| 构造函数。
| Ink (const Annot &annot)
| 构造函数，使用父类对象。 更多...
| ~Ink ()
| 析构函数。
void | EnableUseBezier (bool use_bezier)
| 启用使用贝塞尔样条来为墨迹注释的外观生成墨迹路径。 更多...
common::Path | GetInkList ()
| 获取墨迹列表数据。 更多...
void | SetInkList (const common::Path &ink_list)
| 设置墨迹列表数据。 更多...
Public 成员函数 继承自 foxit::pdf::annots::Markup
| Markup ()
| 构造函数
| Markup (const Annot &annot)
| 构造函数，使用父类对象。 更多...
| ~Markup ()
| 析构函数。
Note | AddReply ()
| 在回复列表的末尾添加新回复。 更多...
void | AddRichText (const WString &content, const RichTextStyle &style)
| 在末尾添加新的富文本字符串。 更多...
Note | AddStateAnnot (const WString &title, StateModel model, State state)
| 添加新的状态注释。 更多...
float | GetBorderOpacity () const
| 获取注释的边框透明度。 更多...
DateTime | GetCreationDateTime () const
| 获取创建日期时间。 更多...
float | GetFillOpacity () const
| 获取注释的填充透明度。 更多...
MarkupArray | GetGroupElements ()
| 从当前标记注释所属的组中获取一个元素（作为标记注释）。 更多...
Markup | GetGroupHeader ()
| 获取当前标记注释所属组的头注释（作为主注释）。 更多...
String | GetIntent () const
| 获取意图名称。 更多...
float | GetOpacity () const
| 获取不透明度值。 更多...
Popup | GetPopup ()
| 获取相关的弹出注释。 更多...
Note | GetReply (int index) const
| 按索引获取回复。 更多...
int | GetReplyCount ()
| 计算所有回复。 更多...
WString | GetRichTextContent (int32 index)
| 获取指定索引的富文本字符串的文本字符串。 更多...
int32 | GetRichTextCount ()
| 获取富文本字符串的数量。 更多...
RichTextStyle | GetRichTextStyle (int32 index)
| 获取指定索引的富文本字符串的样式数据。 更多...
NoteArray | GetStateAnnots (StateModel model)
| 获取指定状态模型中的所有状态注释。 更多...
WString | GetSubject () const
| 获取主题字符串。 更多...
WString | GetTitle () const
| 获取标题字符串。 更多...
void | InsertRichText (int32 index, const WString &content, const RichTextStyle &style)
| 在指定索引位置插入新的富文本字符串。 更多...
bool | IsGrouped ()
| 检查当前标记注释是否在组中。 更多...
bool | RemoveAllReplies ()
| 删除所有回复。 更多...
bool | RemoveAllStateAnnots ()
| 移除所有状态注释。 更多...
bool | RemovePopup ()
| 删除相关的弹出注释。 更多...
bool | RemoveReply (int index)
| 按索引删除回复。 更多...
void | RemoveRichText (int index)
| 移除指定索引的富文本字符串。 更多...
void | SetBorderOpacity (float opacity)
| 设置注释的边框透明度。 更多...
void | SetCreationDateTime (const DateTime &date_time)
| 设置创建日期时间。 更多...
void | SetFillOpacity (float opacity)
| 设置注释的填充透明度。 更多...
void | SetIntent (const String &intent)
| 设置意图名称。 更多...
void | SetOpacity (float opacity)
| 设置不透明度值。 更多...
void | SetPopup (const Popup &popup)
| 设置相关的弹出注释。 更多...
void | SetRichTextContent (int32 index, const WString &content)
| 设置指定索引的富文本字符串的文本字符串。 更多...
void | SetRichTextStyle (int32 index, const RichTextStyle &style)
| 设置指定索引的富文本字符串的样式数据。 更多...
void | SetSubject (const WString &subject)
| 设置主题字符串。 更多...
void | SetTitle (const WString &title)
| 设置标题字符串。 更多...
bool | Ungroup ()
| 将当前标记注释从其所属的组中解组。 更多...
Public 成员函数 继承自 foxit::pdf::annots::Annot
| Annot ()
| 构造函数。
| Annot (const Annot &annot)
| 构造函数，使用另一个注释对象。 更多...
| Annot (const PDFPage &page, objects::PDFDictionary *annot_dict)
| 构造函数，使用PDF页面和注释的PDF字典。 更多...
virtual | ~Annot ()
| 析构函数。
objects::PDFStream * | GetAppearanceStream (AppearanceType type, const char *appearance_state="") const
| 获取具有指定类型和状态的注释外观流。 更多...
RGB | GetBorderColor () const
| 获取边框颜色。 更多...
BorderInfo | GetBorderInfo () const
| 获取边框信息。 更多...
WString | GetContent () const
| 获取内容。 更多...
RectI | GetDeviceRect (const Matrix &matrix)
| 获取设备坐标系统中的注释矩形。 更多...
objects::PDFDictionary * | GetDict () const
| 获取注释的字典对象。 更多...
Matrix | GetDisplayMatrix (const Matrix &page_display_matrix)
| 获取显示矩阵，从PDF坐标系统到 目标设备坐标系统。 更多...
uint32 | GetFlags () const
| 获取注释标志。 更多...
int | GetIndex () const
| 获取当前注释在其所属页面中的索引。 更多...
DateTime | GetModifiedDateTime () const
| 获取最后修改日期时间。 更多...
objects::PDFDictionary * | GetOptionalContent () const
| 获取注释可选内容的PDF字典。 更多...
PDFPage | GetPage () const
| 获取相关的PDF页面。 更多...
RectF | GetRect () const
| 获取矩形，以PDF坐标系统表示。 更多...
Type | GetType () const
| 获取当前注释的实际注释类型。 更多...
WString | GetUniqueID () const
| 获取唯一ID。 更多...
bool | HasProperty (Property property) const
| 当前注释是否具有指定的注释属性。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | IsMarkup () const
| 检查当前注释是否为标记注释。 更多...
bool | Move (const RectF &rect)
| 将当前注释移动到新位置，由PDF坐标系统中的新矩形指定。 更多...
bool | Move (const RectF &rect, bool is_reset_appearance)
| 将当前注释移动到新位置，由PDF坐标系统中的新矩形指定。 更多...
bool | operator!= (const Annot &other) const
| 不等于运算符。 更多...
Annot & | operator= (const Annot &annot)
| 赋值运算符。 更多...
bool | operator== (const Annot &other) const
| 等于运算符。 更多...
bool | RemoveProperty (Property property)
| 删除指定的注释属性。 更多...
bool | ResetAppearanceStream ()
| 重置外观流。 更多...
bool | ResetAppearanceStream (bool is_generate_new_appearance_obj)
| 重置外观流。 更多...
void | SetBorderColor (RGB color)
| 设置边框颜色。 更多...
void | SetBorderInfo (const BorderInfo &border)
| 设置边框信息。 更多...
void | SetContent (const WString &content)
| 设置内容。 更多...
void | SetFlags (uint32 flags)
| 设置注释标志。 更多...
void | SetModifiedDateTime (const DateTime &date_time)
| 设置最后修改日期时间。 更多...
void | SetUniqueID (const WString &unique_id)
| 设置唯一ID。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 额外继承的成员函数
Public 类型 继承自 foxit::pdf::annots::Markup
enum | EndingStyle { e_EndingStyleNone = 0, e_EndingStyleSquare = 1, e_EndingStyleCircle = 2, e_EndingStyleDiamond = 3, e_EndingStyleOpenArrow = 4, e_EndingStyleClosedArrow = 5, e_EndingStyleButt = 6, e_EndingStyleROpenArrow = 7, e_EndingStyleRClosedArrow = 8, e_EndingStyleSlash = 9 }
| 线条端点样式的枚举。 更多...
enum | MeasureType { e_MeasureTypeX = 0, e_MeasureTypeY = 1, e_MeasureTypeD = 2, e_MeasureTypeA = 3, e_MeasureTypeT = 4, e_MeasureTypeS = 5 }
| 注释测量类型的枚举。 更多...
enum | State { e_StateNone = 0, e_StateMarked = 1, e_StateUnmarked = 2, e_StateAccepted = 3, e_StateRejected = 4, e_StateCancelled = 5, e_StateCompleted = 6, e_StateDeferred = 7, e_StateFuture = 8 }
| 标记注释状态的枚举。 更多...
enum | StateModel { e_StateModelMarked = 1, e_StateModelReview = 2 }
| 标记注释状态模型的枚举。 更多...
Public 类型 继承自 foxit::pdf::annots::Annot
enum | AppearanceType { e_AppearanceTypeNormal = 0, e_AppearanceTypeRollover = 1, e_AppearanceTypeDown = 2 }
| 注释外观类型的枚举。 更多...
enum | Flags { e_FlagInvisible = 0x0001, e_FlagHidden = 0x0002, e_FlagPrint = 0x0004, e_FlagNoZoom = 0x0008, e_FlagNoRotate = 0x0010, e_FlagNoView = 0x0020, e_FlagReadOnly = 0x0040, e_FlagLocked = 0x0080, e_FlagToggleNoView = 0x0100, e_FlagLockedContents = 0x0200 }
| PDF注释标志的枚举。 更多...
enum | HighlightingMode { e_HighlightingNone = 0, e_HighlightingInvert = 1, e_HighlightingOutline = 2, e_HighlightingPush = 3, e_HighlightingToggle = 4 }
| PDF注释高亮模式的枚举。 更多...
enum | MKEntry { e_MKEntryRotation = 0, e_MKEntryBorderColor = 1, e_MKEntryBackgroundColor = 2, e_MKEntryNormalCaption = 3, e_MKEntryRolloverCaption = 4, e_MKEntryDownCaption = 5, e_MKEntryNormalIcon = 6, e_MKEntryRolloverIcon = 7, e_MKEntryDownIcon = 8, e_MKEntryIconFit = 9, e_MKEntryIconCaptionRelation = 10 }
| 注释MK字典（外观特征）条目的枚举。 更多...
enum | MKIconCaptionRelation { e_MKRelationNoIcon = 0, e_MKRelationNoCaption = 1, e_MKRelationCaptionBelowIcon = 2, e_MKRelationCaptionAboveIcon = 3, e_MKRelationCaptionRight = 4, e_MKRelationCaptionLeft = 5, e_MKRelationCaptionOvrlayOnIcon = 6 }
| 注释MK字典中图标和标题相对位置的枚举。 更多...
enum | Property { e_PropertyModifiedDate = 0, e_PropertyCreationDate = 1, e_PropertyBorderColor = 2, e_PropertyFillColor = 3 }
| 某些PDF注释属性的枚举。 更多...
enum | Type { e_UnknownType = 0, e_Note = 1, e_Link = 2, e_FreeText = 3, e_Line = 4, e_Square = 5, e_Circle = 6, e_Polygon = 7, e_PolyLine = 8, e_Highlight = 9, e_Underline = 10, e_Squiggly = 11, e_StrikeOut = 12, e_Stamp = 13, e_Caret = 14, e_Ink = 15, e_PSInk = 16, e_FileAttachment = 17, e_Sound = 18, e_Movie = 19, e_Widget = 20, e_Screen = 21, e_PrinterMark = 22, e_TrapNet = 23, e_Watermark = 24, e_3D = 25, e_Popup = 26, e_Redact = 27, e_RichMedia = 28, e_PagingSeal = 29 }
| PDF注释类型的枚举。 更多...

## 详细描述

墨迹注释表示由一个或多个不相交路径组成的手绘"涂鸦"。
墨迹注释是一种标记注释，所以类Ink派生自 类Markup，提供获取/设置墨迹注释属性和 重置墨迹注释外观流的函数。
对于墨迹注释，需要墨迹列表属性。因此，在重置其外观流之前，请确保墨迹注释 具有有效的墨迹列表属性；否则墨迹注释无法重置外观流。

注解
  对于新创建的墨迹注释，如果用户在设置必需的墨迹列表属性后直接调用函数 Annot::ResetAppearanceStream（从Ink的父类继承） 而不设置任何其他属性，将使用默认外观：
  边框宽度 = 2.0，边框样式 = BorderInfo::e_Solid， 边框颜色 = 0xFFFF0000（红色），不透明度 = 1.0。

参见
  Markup

## 构造及析构函数说明

## ◆ Ink()

foxit::pdf::annots::Ink::Ink | ( | const Annot & | annot | ) |
| explicit

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

参数

  [in] | annot | 父类对象。

## 成员函数说明

## ◆ EnableUseBezier()

void foxit::pdf::annots::Ink::EnableUseBezier | ( | bool | use_bezier | ) |

启用使用贝塞尔样条来为墨迹注释的外观生成墨迹路径。

如果未调用此函数，Foxit PDF SDK将默认使用贝塞尔样条生成墨迹路径。

参数

  [in] | use_bezier | 决定是否使用贝塞尔样条的布尔值： true表示使用贝塞尔样条生成墨迹路径， 而false表示使用直线连接相邻点来生成墨迹路径。

返回
  无。

## ◆ GetInkList()

common::Path foxit::pdf::annots::Ink::GetInkList | ( |  | ) |

获取墨迹列表数据。

墨迹列表属性对于墨迹注释是必需的，此属性对墨迹注释的外观有影响。 墨迹列表包含一个或多个描边路径。
在Foxit PDF SDK中，类common::Path用于表示墨迹列表数据， 但路径对象的点类型已经为墨迹列表特别简化。 只有common::Path::e_TypeMoveTo和common::Path::e_TypeLineTo类型 用于墨迹列表中的点：

- 类型为common::Path::e_TypeMoveTo的点意味着 此点是描边路径的起始点。通常路径对象中的第一个点应该是此类型。
- 类型为common::Path::e_TypeLineTo的点意味着 此点在描边路径中，该路径由类型为common::Path::e_TypeMoveTo的点开始， 当调用函数Annot::ResetAppearanceStream（从Ink的父类继承）时， Foxit PDF SDK将通过曲线将此点与其他点连接。

诸如移动墨迹注释或为此注释设置新墨迹路径等操作将更新墨迹路径数据， 因此先前返回的路径对象将变为无效。在这种情况下， 用户应再次调用此函数以获得新的路径对象。

返回
  墨迹列表数据。如果返回的路径对象的函数common::Path::IsEmpty 的返回值为true，那意味着找不到墨迹列表数据。

## ◆ SetInkList()

void foxit::pdf::annots::Ink::SetInkList | ( | const common::Path & | ink_list | ) |

设置墨迹列表数据。

墨迹列表属性对于墨迹注释是必需的，此属性对墨迹注释的外观有影响。 墨迹列表包含一个或多个描边路径。
在Foxit PDF SDK中，类common::Path用于表示墨迹列表数据， 但路径对象的点类型已经为墨迹列表特别简化。 只有common::Path::e_TypeMoveTo和common::Path::e_TypeLineTo类型 用于墨迹列表中的点：

- 类型为common::Path::e_TypeMoveTo的点意味着 此点是描边路径的起始点。通常路径对象中的第一个点应该是此类型。
- 类型为common::Path::e_TypeLineTo的点意味着 此点在描边路径中，该路径由类型为common::Path::e_TypeMoveTo的点开始， 当调用函数Annot::ResetAppearanceStream（从Ink的父类继承）时， Foxit PDF SDK将通过曲线将此点与其他点连接。

特别地，如果输入参数ink_list包含贝塞尔点（例如，由函数 common::Path::CubicBezierTo添加），控制点将被忽略，只有目标点将 用于墨迹列表数据。
强烈建议用户只传递具有点类型common::Path::e_TypeMoveTo和 common::Path::e_TypeLineTo的有效路径对象。
如果用户希望效果显示在注释的外观中，请在此函数后调用函数 Annot::ResetAppearanceStream。

参数

  [in] | ink_list | 指定新列表数据的新路径对象。

返回
  无。