Foxit PDF SDK

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

## Public 类型
enum | TextMergeOption { e_TextMergeNone = 0, e_TextMergeTJY = 1, e_TextMergeBTET = 2 }
| 文本合并枚举。 更多...

## Public 成员函数
| GraphicsObjects (const GraphicsObjects &other)
| 构造函数，使用另一个 GraphicsObjects 对象。 更多...
virtual | ~GraphicsObjects ()
| 析构函数。
bool | GenerateContent ()
| 生成当前图形对象的内容。 更多...
bool | GenerateContent (TextMergeOption text_merge_option)
| 生成当前图形对象的内容。 更多...
POSITION | GetFirstGraphicsObjectPosition (graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
| 获取图形对象列表中第一个图形对象的位置，基于类型过滤器。 更多...
graphics::GraphicsObject * | GetGraphicsObject (int index) const
| 通过索引获取图形对象。 更多...
graphics::GraphicsObject * | GetGraphicsObject (POSITION position) const
| 通过图形对象列表中的位置获取图形对象。 更多...
int | GetGraphicsObjectCount () const
| 获取图形对象列表中图形对象的数量。 更多...
int | GetGraphicsObjectIndex (graphics::GraphicsObject *graphics_object) const
| 获取指定图形对象在图形对象列表中的索引。 更多...
POSITION | GetGraphicsObjectPosition (graphics::GraphicsObject *graphics_object)
| 获取指定图形对象的位置。 更多...
POSITION | GetLastGraphicsObjectPosition (graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
| 获取图形对象列表中最后一个图形对象的位置，基于类型过滤器。 更多...
POSITION | GetNextGraphicsObjectPosition (POSITION position, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
| 获取图形对象列表中下一个图形对象的位置， 基于类型过滤器和指定的当前位置。 更多...
POSITION | GetPrevGraphicsObjectPosition (POSITION position, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
| 获取图形对象列表中上一个图形对象的位置， 基于类型过滤器和指定的当前位置。 更多...
POSITION | InsertGraphicsObject (POSITION position_insert_after, graphics::GraphicsObject *graphics_object)
| 在指定位置后插入图形对象。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
POSITION | MoveGraphicsObjectByPosition (POSITION current_position, POSITION position_move_after)
| 将图形对象从一个位置移动到另一个位置。 更多...
bool | operator!= (const GraphicsObjects &other) const
| 不等操作符。 更多...
GraphicsObjects & | operator= (const GraphicsObjects &other)
| 赋值操作符。 更多...
bool | operator== (const GraphicsObjects &other) const
| 相等操作符。 更多...
bool | RemoveGraphicsObject (graphics::GraphicsObject *graphics_object)
| 删除图形对象。 更多...
bool | RemoveGraphicsObjectByPosition (POSITION position)
| 通过位置删除图形对象。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

此类用作图形对象的管理器。它将所有图形对象存储在图形列表中， 并使用POSITION对象来枚举它们。有效的POSITION对象可用于获取一个图形对象， 插入新的图形对象甚至删除一个。
如果任何图形对象被更改，或者图形对象被插入/删除，应该调用函数 GraphicsObjects::GenerateContent 以确保所有这些更改都存储 到PDF文档中。更多详情请参考函数 GraphicsObjects::GenerateContent。
PDF页面的内容通常由一系列图形对象组成，这意味着PDF页面也像图形对象的管理器一样使用。 因此类 pdf::PDFPage 派生自类 GraphicsObjects，以便 类 PDFPage 可以检索其图形对象。
表单XObject是一种图形对象，它是任何图形对象序列的自包含描述， 所以函数 graphics::FormXObject::GetGraphicsObjects 可以用来从表单XObject中检索GraphicsObjects对象， 以便管理包含在表单XObject中的图形对象。

参见
  PDFPage
  graphics::FormXObject
  graphics::GraphicsObject

## 成员枚举类型说明

## ◆ TextMergeOption

enum foxit::pdf::GraphicsObjects::TextMergeOption

文本合并枚举。

此枚举的值应该单独使用。

枚举值
e_TextMergeNone | 不进行文本合并。
e_TextMergeTJY | 合并具有相同y坐标的连续文本显示操作符。
e_TextMergeBTET | 将连续的BTET合并为新的一个。 '/BT'是内容流中表示文本对象开始的操作符。 '/ET'是内容流中表示文本对象结束的操作符。 如果使用合并选项，它将合并多个连续的'/BT'和'/ET'为新的一个。

## 构造及析构函数说明

## ◆ GraphicsObjects()

foxit::pdf::GraphicsObjects::GraphicsObjects | ( | const GraphicsObjects & | other | ) |

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

参数

  [in] | other | 另一个 GraphicsObjects 对象。

## 成员函数说明

## ◆ GenerateContent() [1/2]

bool foxit::pdf::GraphicsObjects::GenerateContent | ( |  | ) |

生成当前图形对象的内容。

如果任何图形对象发生更改，或者图形对象被插入/移除/移动，应该 在保存相关PDF文档之前调用此函数，以确保所有这些更改都会存储到 PDF文档中。由于生成内容可能需要很长时间，不建议用户 频繁调用此函数，而应该只在必要时调用此函数，例如， 在即将保存相关PDF文档之前。
当此函数成功时，如果当前图形对象代表PDF页面，建议用户 通过函数PDFPage::StartParse重新解析PDF页面，参数is_reparse为true， 然后再对页面内容执行某些操作；否则操作的结果可能是意外的。 例如，如果在此函数成功后没有重新解析PDF页面就渲染PDF页面，页面内容 可能无法按预期渲染或可能发生意外错误。 请参考函数PDFPage::StartParse了解有关重新解析PDF页面的更多详细信息。

返回
  true表示成功，false表示失败。

## ◆ GenerateContent() [2/2]

bool foxit::pdf::GraphicsObjects::GenerateContent | ( | TextMergeOption | text_merge_option | ) |

生成当前图形对象的内容。

如果任何图形对象发生更改，或者图形对象被插入/移除/移动，应该 在保存相关PDF文档之前调用此函数，以确保所有这些更改都会存储到 PDF文档中。由于生成内容可能需要很长时间，不建议用户 频繁调用此函数，而应该只在必要时调用此函数，例如， 在即将保存相关PDF文档之前。
当此函数成功时，如果当前图形对象代表PDF页面，建议用户 通过函数PDFPage::StartParse重新解析PDF页面，参数is_reparse为true， 然后再对页面内容执行某些操作；否则操作的结果可能是意外的。 例如，如果在此函数成功后没有重新解析PDF页面就渲染PDF页面，页面内容 可能无法按预期渲染或可能发生意外错误。 请参考函数PDFPage::StartParse了解有关重新解析PDF页面的更多详细信息。

参数

  [in] | text_merge_option | 文本对象的合并选项。请参考从 GraphicsObjects::e_TextMergeNone开始的值，应该是这些值中的一个。

返回
  true表示成功，false表示失败。

## ◆ GetFirstGraphicsObjectPosition()

POSITION foxit::pdf::GraphicsObjects::GetFirstGraphicsObjectPosition | ( | graphics::GraphicsObject::Type | filter = `graphics::GraphicsObject::e_TypeAll` | ) | const

获取图形对象列表中第一个图形对象的位置，基于类型过滤器。

获取图形对象列表中的位置后，用户可以调用函数 GraphicsObjects::GetGraphicsObject 来获取该位置的图形对象。

参数

  [in] | filter | 类型过滤器，指定要获取的图形对象类型。 请参考从 graphics::GraphicsObject::e_TypeAll 开始的值， 应该是这些值中的一个。 graphics::GraphicsObject::e_TypeAll 表示所有类型的 图形对象。默认值：graphics::GraphicsObject::e_TypeAll。

返回
  表示图形对象列表中第一个图形对象位置的POSITION对象。 NULL 或 0 表示没有图形对象。

## ◆ GetGraphicsObject() [1/2]

graphics::GraphicsObject* foxit::pdf::GraphicsObjects::GetGraphicsObject | ( | int | index | ) | const

通过索引获取图形对象。

参数

  [in] | index | 要检索的图形对象的索引。有效范围：从0到(count-1)。 count由函数GraphicsObjects::GetGraphicsObjectCount返回。

返回
  图形对象。如果有任何错误，此函数将返回NULL。

## ◆ GetGraphicsObject() [2/2]

graphics::GraphicsObject* foxit::pdf::GraphicsObjects::GetGraphicsObject | ( | POSITION | position | ) | const

通过图形对象列表中的位置获取图形对象。

参数

  [in] | position | 表示图形对象列表中位置的POSITION对象。 不应为 NULL 或 0。

返回
  一个 graphics::GraphicsObject 对象。如果有任何错误，此函数将返回 NULL。

## ◆ GetGraphicsObjectCount()

int foxit::pdf::GraphicsObjects::GetGraphicsObjectCount | ( |  | ) | const

获取图形对象列表中图形对象的数量。

返回
  图形对象列表中图形对象的数量。

## ◆ GetGraphicsObjectIndex()

int foxit::pdf::GraphicsObjects::GetGraphicsObjectIndex | ( | graphics::GraphicsObject * | graphics_object | ) | const

获取指定图形对象在图形对象列表中的索引。

参数

  [in] | graphics_object | 要检索索引的图形对象。请确保 输入的图形对象属于当前图形对象。

返回
  指定图形对象在图形对象列表中的索引。 -1表示参数graphics_object不属于当前图形对象列表。

## ◆ GetGraphicsObjectPosition()

POSITION foxit::pdf::GraphicsObjects::GetGraphicsObjectPosition | ( | graphics::GraphicsObject * | graphics_object | ) |

获取指定图形对象的位置。

参数

  [in] | graphics_object | 要获取位置的图形对象。

返回
  指定图形对象的位置。NULL 表示输入的图形对象不属于当前图形对象。

## ◆ GetLastGraphicsObjectPosition()

POSITION foxit::pdf::GraphicsObjects::GetLastGraphicsObjectPosition | ( | graphics::GraphicsObject::Type | filter = `graphics::GraphicsObject::e_TypeAll` | ) | const

获取图形对象列表中最后一个图形对象的位置，基于类型过滤器。

获取图形对象列表中的位置后，用户可以调用函数 GraphicsObjects::GetGraphicsObject 来获取该位置的图形对象。

参数

  [in] | filter | 类型过滤器，指定要获取的图形对象类型。 请参考从 graphics::GraphicsObject::e_TypeAll 开始的值， 应该是这些值中的一个。 graphics::GraphicsObject::e_TypeAll 表示所有类型的 图形对象。默认值：graphics::GraphicsObject::e_TypeAll。

返回
  表示图形对象列表中最后一个图形对象位置的POSITION对象。 NULL 或 0 表示没有图形对象。

## ◆ GetNextGraphicsObjectPosition()

POSITION foxit::pdf::GraphicsObjects::GetNextGraphicsObjectPosition | ( | POSITION | position,
|  | graphics::GraphicsObject::Type | filter = `graphics::GraphicsObject::e_TypeAll`
| ) |  | const

获取图形对象列表中下一个图形对象的位置， 基于类型过滤器和指定的当前位置。

获取图形对象列表中的位置后，用户可以调用函数 GraphicsObjects::GetGraphicsObject 来获取该位置的图形对象。

参数

  [in] | position | 表示图形对象列表中位置的POSITION对象， 将获取其下一个位置。不应为 NULL 或 0。
  [in] | filter | 类型过滤器，指定要获取的图形对象类型。 请参考从 graphics::GraphicsObject::e_TypeAll 开始的值， 应该是这些值中的一个。 graphics::GraphicsObject::e_TypeAll 表示所有类型的 图形对象。默认值：graphics::GraphicsObject::e_TypeAll。

返回
  表示图形对象列表中下一个图形对象位置的POSITION对象。 NULL 或 0 表示参数 position 是图形对象列表中的最后位置。

## ◆ GetPrevGraphicsObjectPosition()

POSITION foxit::pdf::GraphicsObjects::GetPrevGraphicsObjectPosition | ( | POSITION | position,
|  | graphics::GraphicsObject::Type | filter = `graphics::GraphicsObject::e_TypeAll`
| ) |  | const

获取图形对象列表中上一个图形对象的位置， 基于类型过滤器和指定的当前位置。

获取图形对象列表中的位置后，用户可以调用函数 GraphicsObjects::GetGraphicsObject 来获取该位置的图形对象。

参数

  [in] | position | 表示图形对象列表中位置的POSITION对象， 将获取其上一个位置。不应为 NULL 或 0。
  [in] | filter | 类型过滤器，指定要获取的图形对象类型。 请参考从 graphics::GraphicsObject::e_TypeAll 开始的值， 应该是这些值中的一个。 graphics::GraphicsObject::e_TypeAll 表示所有类型的 图形对象。默认值：graphics::GraphicsObject::e_TypeAll。

返回
  表示图形对象列表中上一个图形对象位置的POSITION对象。 NULL 或 0 表示参数 position 已经是图形对象列表中的第一个位置。

## ◆ InsertGraphicsObject()

POSITION foxit::pdf::GraphicsObjects::InsertGraphicsObject | ( | POSITION | position_insert_after,
|  | graphics::GraphicsObject * | graphics_object
| ) |  |

在指定位置后插入图形对象。

参数

  [in] | position_insert_after | 用于指定位置，以便在此位置后插入 参数 graphics_object。 NULL 表示参数 graphics_object 将在所有图形对象之前插入。
  [in] | graphics_object | 要插入的图形对象。用户应确保参数 graphics_object 属于与当前图形对象 相同的PDF文档。

返回
  插入的图形对象的新位置。

注解
  当此函数成功时，应调用函数 GraphicsObjects::GenerateContent。 更多详情请参考函数 GraphicsObjects::GenerateContent。

## ◆ IsEmpty()

bool foxit::pdf::GraphicsObjects::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

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

返回
  true 表示当前对象为空，false 表示不为空。

## ◆ MoveGraphicsObjectByPosition()

POSITION foxit::pdf::GraphicsObjects::MoveGraphicsObjectByPosition | ( | POSITION | current_position,
|  | POSITION | position_move_after
| ) |  |

将图形对象从一个位置移动到另一个位置。

参数

  [in] | current_position | 要移动到新位置的图形对象的当前位置。
  [in] | position_move_after | 用于指定位置，以便将由参数 current_position 指定的 图形对象移动到此位置之后。 NULL 表示由参数 current_position 指定的 图形对象将被移动到所有图形对象之前。

返回
  移动的图形对象的新位置。

注解
  此函数成功时，应调用函数 GraphicsObjects::GenerateContent。 更多详情请参考函数 GraphicsObjects::GenerateContent。

## ◆ operator!=()

bool foxit::pdf::GraphicsObjects::operator!= | ( | const GraphicsObjects & | other | ) | const

不等操作符。

参数

  [in] | other | 另一个 GraphicsObjects 对象。此函数将检查当前对象是否与此对象不相等。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

GraphicsObjects& foxit::pdf::GraphicsObjects::operator= | ( | const GraphicsObjects & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个 GraphicsObjects 对象，其值将被赋值给当前对象。

返回
  对当前对象本身的引用。

## ◆ operator==()

bool foxit::pdf::GraphicsObjects::operator== | ( | const GraphicsObjects & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个 GraphicsObjects 对象。此函数将检查当前对象是否与此对象相等。

返回
  true 表示相等，false 表示不相等。

## ◆ RemoveGraphicsObject()

bool foxit::pdf::GraphicsObjects::RemoveGraphicsObject | ( | graphics::GraphicsObject * | graphics_object | ) |

删除图形对象。

通过位置删除图形对象（函数 GraphicsObjects::RemoveGraphicsObjectByPosition）比 直接删除图形对象（函数 GraphicsObjects::RemoveGraphicsObject）更直接和有效。

参数

  [in] | graphics_object | 要删除的图形对象。请确保此图形对象属于 当前图形对象。

返回
  true 表示成功，false 表示失败。

注解
  此函数成功时，应调用函数 GraphicsObjects::GenerateContent。 更多详情请参考函数 GraphicsObjects::GenerateContent。

## ◆ RemoveGraphicsObjectByPosition()

bool foxit::pdf::GraphicsObjects::RemoveGraphicsObjectByPosition | ( | POSITION | position | ) |

通过位置删除图形对象。

通过位置删除图形对象（函数 GraphicsObjects::RemoveGraphicsObjectByPosition）比 直接删除图形对象（函数 GraphicsObjects::RemoveGraphicsObject）更直接和有效。

参数

  [in] | position | 用于指定要删除的图形对象的位置。 不应为 NULL 或 0。

返回
  true 表示成功，false 表示失败。

注解
  此函数成功时，应调用函数 GraphicsObjects::GenerateContent。 更多详情请参考函数 GraphicsObjects::GenerateContent。