Foxit PDF SDK
FSGraphicsObjects类 参考
类 FSGraphicsObjects 继承关系图:
FSBase FSPDFPage

构造函数

(BOOL) - generateContent
 生成当前图形对象的内容。
更多...
 
(BOOL) - generateContentWithMergeOption:
 生成当前图形对象的内容。
更多...
 
(long) - getFirstGraphicsObjectPosition:
 获取图形对象列表中第一个图形对象的位置,基于类型过滤器。
更多...
 
(FSGraphicsObject *) - getGraphicsObject:
 通过图形对象列表中的位置获取图形对象。
更多...
 
(FSGraphicsObject *) - getGraphicsObjectByIndex:
 通过索引获取图形对象。
更多...
 
(int) - getGraphicsObjectCount
 获取图形对象列表中图形对象的数量。
更多...
 
(int) - getGraphicsObjectIndex:
 获取指定图形对象在图形对象列表中的索引。
更多...
 
(long) - getGraphicsObjectPosition:
 获取指定图形对象的位置。
更多...
 
(long) - getLastGraphicsObjectPosition:
 获取图形对象列表中最后一个图形对象的位置,基于类型过滤器。
更多...
 
(long) - getNextGraphicsObjectPosition:filter:
 获取图形对象列表中下一个图形对象的位置, 基于类型过滤器和指定的当前位置。
更多...
 
(long) - getPrevGraphicsObjectPosition:filter:
 获取图形对象列表中上一个图形对象的位置, 基于类型过滤器和指定的当前位置。
更多...
 
(id) - initWithOther:
 构造函数,使用另一个 FSGraphicsObjects 对象。
更多...
 
(long) - insertGraphicsObject:graphics_object:
 在指定位置后插入图形对象。
更多...
 
(BOOL) - isEmpty
 检查当前对象是否为空。
更多...
 
(long) - moveGraphicsObjectByPosition:position_move_after:
 将图形对象从一个位置移动到另一个位置。
更多...
 
(BOOL) - removeGraphicsObject:
 删除图形对象。
更多...
 
(BOOL) - removeGraphicsObjectByPosition:
 通过位置删除图形对象。
更多...
 

详细描述

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

参见
FSPDFPage
FSFormXObject
FSGraphicsObject

函数文档

◆ generateContent()

- (BOOL) generateContent

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

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

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

◆ generateContentWithMergeOption:()

- (BOOL) generateContentWithMergeOption: (FSGraphicsObjectsTextMergeOption)  text_merge_option

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

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

参数
[in]text_merge_option文本对象的合并选项。请参考从 FSGraphicsObjectsTextMergeNone 开始的值,应该是这些值中的一个。
返回
YES表示成功,NO表示失败。

◆ getFirstGraphicsObjectPosition:()

- (long) getFirstGraphicsObjectPosition: (FSGraphicsObjectType)  filter

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

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

参数
[in]filter类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。
返回
表示图形对象列表中第一个图形对象位置的POSITION对象。 nil 或 0 表示没有图形对象。

◆ getGraphicsObject:()

- (FSGraphicsObject *) getGraphicsObject: (long)  position

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

参数
[in]position表示图形对象列表中位置的POSITION对象。 不应为 nil 或 0。
返回
一个 FSGraphicsObject 对象。如果有任何错误,此函数将返回 nil。

◆ getGraphicsObjectByIndex:()

- (FSGraphicsObject *) getGraphicsObjectByIndex: (int)  index

通过索引获取图形对象。

参数
[in]index要检索的图形对象的索引。有效范围:从0到(count-1)。 count由函数 FSGraphicsObjects::getGraphicsObjectCount 返回。
返回
图形对象。如果有任何错误,此函数将返回nil。

◆ getGraphicsObjectCount()

- (int) getGraphicsObjectCount

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

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

◆ getGraphicsObjectIndex:()

- (int) getGraphicsObjectIndex: (FSGraphicsObject*)  graphics_object

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

参数
[in]graphics_object要检索索引的图形对象。请确保 输入的图形对象属于当前图形对象。
返回
指定图形对象在图形对象列表中的索引。 -1表示参数graphics_object不属于当前图形对象列表。

◆ getGraphicsObjectPosition:()

- (long) getGraphicsObjectPosition: (FSGraphicsObject*)  graphics_object

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

参数
[in]graphics_object要获取位置的图形对象。
返回
指定图形对象的位置。nil 表示输入的图形对象不属于当前图形对象。

◆ getLastGraphicsObjectPosition:()

- (long) getLastGraphicsObjectPosition: (FSGraphicsObjectType)  filter

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

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

参数
[in]filter类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。
返回
表示图形对象列表中最后一个图形对象位置的POSITION对象。 nil 或 0 表示没有图形对象。

◆ getNextGraphicsObjectPosition:filter:()

- (long) getNextGraphicsObjectPosition: (long)  position
filter: (FSGraphicsObjectType)  filter 

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

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

参数
[in]position表示图形对象列表中位置的POSITION对象, 将获取其下一个位置。不应为 nil 或 0。
[in]filter类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。
返回
表示图形对象列表中下一个图形对象位置的POSITION对象。 nil 或 0 表示参数 position 是图形对象列表中的最后位置。

◆ getPrevGraphicsObjectPosition:filter:()

- (long) getPrevGraphicsObjectPosition: (long)  position
filter: (FSGraphicsObjectType)  filter 

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

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

参数
[in]position表示图形对象列表中位置的POSITION对象, 将获取其上一个位置。不应为 nil 或 0。
[in]filter类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。
返回
表示图形对象列表中上一个图形对象位置的POSITION对象。 nil 或 0 表示参数 position 已经是图形对象列表中的第一个位置。

◆ initWithOther:()

- (id) initWithOther: (FSGraphicsObjects*)  other

构造函数,使用另一个 FSGraphicsObjects 对象。

参数
[in]other另一个 FSGraphicsObjects 对象。

被 FSPDFPage 重载.

◆ insertGraphicsObject:graphics_object:()

- (long) insertGraphicsObject: (long)  position_insert_after
graphics_object: (FSGraphicsObject*)  graphics_object 

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

参数
[in]position_insert_after用于指定位置,以便在此位置后插入 参数 graphics_object。 nil 表示参数 graphics_object 将在所有图形对象之前插入。
[in]graphics_object要插入的图形对象。用户应确保参数 graphics_object 属于与当前图形对象 相同的PDF文档。
返回
插入的图形对象的新位置。
注解
当此函数成功时,应调用函数 FSGraphicsObjects::generateContent 。 更多详情请参考函数 FSGraphicsObjects::generateContent 。

◆ isEmpty()

- (BOOL) isEmpty

检查当前对象是否为空。

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

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

◆ moveGraphicsObjectByPosition:position_move_after:()

- (long) moveGraphicsObjectByPosition: (long)  current_position
position_move_after: (long)  position_move_after 

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

参数
[in]current_position要移动到新位置的图形对象的当前位置。
[in]position_move_after用于指定位置,以便将由参数 current_position 指定的 图形对象移动到此位置之后。 nil 表示由参数 current_position 指定的 图形对象将被移动到所有图形对象之前。
返回
移动的图形对象的新位置。
注解
此函数成功时,应调用函数 FSGraphicsObjects::generateContent 。 更多详情请参考函数 FSGraphicsObjects::generateContent 。

◆ removeGraphicsObject:()

- (BOOL) removeGraphicsObject: (FSGraphicsObject*)  graphics_object

删除图形对象。

通过位置删除图形对象(函数 FSGraphicsObjects::removeGraphicsObjectByPosition: )比 直接删除图形对象(函数 FSGraphicsObjects::removeGraphicsObject: )更直接和有效。

参数
[in]graphics_object要删除的图形对象。请确保此图形对象属于 当前图形对象。
返回
YES 表示成功,NO 表示失败。
注解
此函数成功时,应调用函数 FSGraphicsObjects::generateContent 。 更多详情请参考函数 FSGraphicsObjects::generateContent 。

◆ removeGraphicsObjectByPosition:()

- (BOOL) removeGraphicsObjectByPosition: (long)  position

通过位置删除图形对象。

通过位置删除图形对象(函数 FSGraphicsObjects::removeGraphicsObjectByPosition: )比 直接删除图形对象(函数 FSGraphicsObjects::removeGraphicsObject: )更直接和有效。

参数
[in]position用于指定要删除的图形对象的位置。 不应为 nil 或 0。
返回
YES 表示成功,NO 表示失败。
注解
此函数成功时,应调用函数 FSGraphicsObjects::generateContent 。 更多详情请参考函数 FSGraphicsObjects::generateContent 。