|
Foxit PDF SDK
|
此类用作图形对象的管理器。它将所有图形对象存储在图形列表中, 并使用POSITION对象来枚举它们。有效的POSITION对象可用于获取一个图形对象, 插入新的图形对象甚至删除一个。
如果任何图形对象被更改,或者图形对象被插入/删除,应该调用函数 FSGraphicsObjects::generateContent 以确保所有这些更改都存储 到PDF文档中。更多详情请参考函数 FSGraphicsObjects::generateContent 。
PDF页面的内容通常由一系列图形对象组成,这意味着PDF页面也像图形对象的管理器一样使用。 因此类 FSPDFPage 派生自类 FSGraphicsObjects ,以便 类 FSPDFPage 可以检索其图形对象。
表单XObject是一种图形对象,它是任何图形对象序列的自包含描述, 所以函数 FSFormXObject::getGraphicsObjects 可以用来从表单XObject中检索GraphicsObjects对象, 以便管理包含在表单XObject中的图形对象。
| - (BOOL) generateContent |
生成当前图形对象的内容。
如果任何图形对象发生更改,或者图形对象被插入/移除/移动,应该 在保存相关PDF文档之前调用此函数,以确保所有这些更改都会存储到 PDF文档中。由于生成内容可能需要很长时间,不建议用户 频繁调用此函数,而应该只在必要时调用此函数,例如, 在即将保存相关PDF文档之前。
当此函数成功时,如果当前图形对象代表PDF页面,建议用户 通过函数 FSPDFPage::startParse:pause:is_reparse: 重新解析PDF页面,参数is_reparse为YES, 然后再对页面内容执行某些操作;否则操作的结果可能是意外的。 例如,如果在此函数成功后没有重新解析PDF页面就渲染PDF页面,页面内容 可能无法按预期渲染或可能发生意外错误。 请参考函数 FSPDFPage::startParse:pause:is_reparse: 了解有关重新解析PDF页面的更多详细信息。
| - (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 开始的值,应该是这些值中的一个。 |
| - (long) getFirstGraphicsObjectPosition: | (FSGraphicsObjectType) | filter |
获取图形对象列表中第一个图形对象的位置,基于类型过滤器。
获取图形对象列表中的位置后,用户可以调用函数 FSGraphicsObjects::getGraphicsObjectByIndex: 来获取该位置的图形对象。
| [in] | filter | 类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。 |
| - (FSGraphicsObject *) getGraphicsObject: | (long) | position |
通过图形对象列表中的位置获取图形对象。
| [in] | position | 表示图形对象列表中位置的POSITION对象。 不应为 nil 或 0。 |
| - (FSGraphicsObject *) getGraphicsObjectByIndex: | (int) | index |
通过索引获取图形对象。
| [in] | index | 要检索的图形对象的索引。有效范围:从0到(count-1)。 count由函数 FSGraphicsObjects::getGraphicsObjectCount 返回。 |
| - (int) getGraphicsObjectCount |
获取图形对象列表中图形对象的数量。
| - (int) getGraphicsObjectIndex: | (FSGraphicsObject*) | graphics_object |
获取指定图形对象在图形对象列表中的索引。
| [in] | graphics_object | 要检索索引的图形对象。请确保 输入的图形对象属于当前图形对象。 |
| - (long) getGraphicsObjectPosition: | (FSGraphicsObject*) | graphics_object |
获取指定图形对象的位置。
| [in] | graphics_object | 要获取位置的图形对象。 |
| - (long) getLastGraphicsObjectPosition: | (FSGraphicsObjectType) | filter |
获取图形对象列表中最后一个图形对象的位置,基于类型过滤器。
获取图形对象列表中的位置后,用户可以调用函数 FSGraphicsObjects::getGraphicsObjectByIndex: 来获取该位置的图形对象。
| [in] | filter | 类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。 |
| - (long) getNextGraphicsObjectPosition: | (long) | position | |
| filter: | (FSGraphicsObjectType) | filter | |
获取图形对象列表中下一个图形对象的位置, 基于类型过滤器和指定的当前位置。
获取图形对象列表中的位置后,用户可以调用函数 FSGraphicsObjects::getGraphicsObjectByIndex: 来获取该位置的图形对象。
| [in] | position | 表示图形对象列表中位置的POSITION对象, 将获取其下一个位置。不应为 nil 或 0。 |
| [in] | filter | 类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。 |
| - (long) getPrevGraphicsObjectPosition: | (long) | position | |
| filter: | (FSGraphicsObjectType) | filter | |
获取图形对象列表中上一个图形对象的位置, 基于类型过滤器和指定的当前位置。
获取图形对象列表中的位置后,用户可以调用函数 FSGraphicsObjects::getGraphicsObjectByIndex: 来获取该位置的图形对象。
| [in] | position | 表示图形对象列表中位置的POSITION对象, 将获取其上一个位置。不应为 nil 或 0。 |
| [in] | filter | 类型过滤器,指定要获取的图形对象类型。 请参考从 FSGraphicsObjectTypeAll 开始的值, 应该是这些值中的一个。 FSGraphicsObjectTypeAll 表示所有类型的 图形对象。默认值: FSGraphicsObjectTypeAll 。 |
| - (id) initWithOther: | (FSGraphicsObjects*) | other |
| - (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文档。 |
| - (BOOL) isEmpty |
检查当前对象是否为空。
当前对象为空时,意味着当前对象无用。
| - (long) moveGraphicsObjectByPosition: | (long) | current_position | |
| position_move_after: | (long) | position_move_after | |
将图形对象从一个位置移动到另一个位置。
| [in] | current_position | 要移动到新位置的图形对象的当前位置。 |
| [in] | position_move_after | 用于指定位置,以便将由参数 current_position 指定的 图形对象移动到此位置之后。 nil 表示由参数 current_position 指定的 图形对象将被移动到所有图形对象之前。 |
| - (BOOL) removeGraphicsObject: | (FSGraphicsObject*) | graphics_object |
删除图形对象。
通过位置删除图形对象(函数 FSGraphicsObjects::removeGraphicsObjectByPosition: )比 直接删除图形对象(函数 FSGraphicsObjects::removeGraphicsObject: )更直接和有效。
| [in] | graphics_object | 要删除的图形对象。请确保此图形对象属于 当前图形对象。 |
| - (BOOL) removeGraphicsObjectByPosition: | (long) | position |
通过位置删除图形对象。
通过位置删除图形对象(函数 FSGraphicsObjects::removeGraphicsObjectByPosition: )比 直接删除图形对象(函数 FSGraphicsObjects::removeGraphicsObject: )更直接和有效。
| [in] | position | 用于指定要删除的图形对象的位置。 不应为 nil 或 0。 |