Foxit PDF SDK
foxit.pdf.GraphicsObjects类 参考
类 foxit.pdf.GraphicsObjects 继承关系图:
foxit.common.Base foxit.pdf.PDFPage

Public 类型

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

Public 成员函数

 GraphicsObjects (GraphicsObjects other)
 构造函数,使用另一个 GraphicsObjects 对象。 更多...
 
bool GenerateContent ()
 生成当前图形对象的内容。 更多...
 
bool GenerateContent (GraphicsObjects.TextMergeOption text_merge_option)
 生成当前图形对象的内容。 更多...
 
long GetFirstGraphicsObjectPosition (GraphicsObject.Type filter)
 获取图形对象列表中第一个图形对象的位置,基于类型过滤器。 更多...
 
GraphicsObject GetGraphicsObject (long position)
 通过图形对象列表中的位置获取图形对象。 更多...
 
GraphicsObject GetGraphicsObject (int index)
 通过索引获取图形对象。 更多...
 
int GetGraphicsObjectCount ()
 获取图形对象列表中图形对象的数量。 更多...
 
int GetGraphicsObjectIndex (GraphicsObject graphics_object)
 获取指定图形对象在图形对象列表中的索引。 更多...
 
long GetGraphicsObjectPosition (GraphicsObject graphics_object)
 获取指定图形对象的位置。 更多...
 
long GetLastGraphicsObjectPosition (GraphicsObject.Type filter)
 获取图形对象列表中最后一个图形对象的位置,基于类型过滤器。 更多...
 
long GetNextGraphicsObjectPosition (long position, GraphicsObject.Type filter)
 获取图形对象列表中下一个图形对象的位置, 基于类型过滤器和指定的当前位置。 更多...
 
long GetPrevGraphicsObjectPosition (long position, GraphicsObject.Type filter)
 获取图形对象列表中上一个图形对象的位置, 基于类型过滤器和指定的当前位置。 更多...
 
long InsertGraphicsObject (long position_insert_after, GraphicsObject graphics_object)
 在指定位置后插入图形对象。 更多...
 
bool IsEmpty ()
 检查当前对象是否为空。 更多...
 
long MoveGraphicsObjectByPosition (long current_position, long position_move_after)
 将图形对象从一个位置移动到另一个位置。 更多...
 
bool RemoveGraphicsObject (GraphicsObject graphics_object)
 删除图形对象。 更多...
 
bool RemoveGraphicsObjectByPosition (long position)
 通过位置删除图形对象。 更多...
 

详细描述

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

参见
PDFPage
foxit.pdf.graphics.FormXObject
foxit.pdf.graphics.GraphicsObject

成员枚举类型说明

◆ TextMergeOption

文本合并枚举。

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

枚举值
e_TextMergeNone 

不进行文本合并。

e_TextMergeTJY 

合并具有相同y坐标的连续文本显示操作符。

e_TextMergeBTET 

将连续的BTET合并为新的一个。

'/BT'是内容流中表示文本对象开始的操作符。 '/ET'是内容流中表示文本对象结束的操作符。 如果使用合并选项,它将合并多个连续的'/BT'和'/ET'为新的一个。

构造及析构函数说明

◆ GraphicsObjects()

foxit.pdf.GraphicsObjects.GraphicsObjects ( GraphicsObjects  other)
inline

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

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

成员函数说明

◆ GenerateContent() [1/2]

bool foxit.pdf.GraphicsObjects.GenerateContent ( )
inline

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

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

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

◆ GenerateContent() [2/2]

bool foxit.pdf.GraphicsObjects.GenerateContent ( GraphicsObjects.TextMergeOption  text_merge_option)
inline

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

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

参数
[in]text_merge_option文本对象的合并选项。请参考从 foxit.pdf.GraphicsObjects.TextMergeOption.e_TextMergeNone 开始的值,应该是这些值中的一个。
返回
true表示成功,false表示失败。

◆ GetFirstGraphicsObjectPosition()

long foxit.pdf.GraphicsObjects.GetFirstGraphicsObjectPosition ( GraphicsObject.Type  filter)
inline

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

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

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

◆ GetGraphicsObject() [1/2]

GraphicsObject foxit.pdf.GraphicsObjects.GetGraphicsObject ( long  position)
inline

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

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

◆ GetGraphicsObject() [2/2]

GraphicsObject foxit.pdf.GraphicsObjects.GetGraphicsObject ( int  index)
inline

通过索引获取图形对象。

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

◆ GetGraphicsObjectCount()

int foxit.pdf.GraphicsObjects.GetGraphicsObjectCount ( )
inline

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

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

◆ GetGraphicsObjectIndex()

int foxit.pdf.GraphicsObjects.GetGraphicsObjectIndex ( GraphicsObject  graphics_object)
inline

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

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

◆ GetGraphicsObjectPosition()

long foxit.pdf.GraphicsObjects.GetGraphicsObjectPosition ( GraphicsObject  graphics_object)
inline

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

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

◆ GetLastGraphicsObjectPosition()

long foxit.pdf.GraphicsObjects.GetLastGraphicsObjectPosition ( GraphicsObject.Type  filter)
inline

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

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

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

◆ GetNextGraphicsObjectPosition()

long foxit.pdf.GraphicsObjects.GetNextGraphicsObjectPosition ( long  position,
GraphicsObject.Type  filter 
)
inline

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

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

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

◆ GetPrevGraphicsObjectPosition()

long foxit.pdf.GraphicsObjects.GetPrevGraphicsObjectPosition ( long  position,
GraphicsObject.Type  filter 
)
inline

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

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

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

◆ InsertGraphicsObject()

long foxit.pdf.GraphicsObjects.InsertGraphicsObject ( long  position_insert_after,
GraphicsObject  graphics_object 
)
inline

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

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

◆ IsEmpty()

bool foxit.pdf.GraphicsObjects.IsEmpty ( )
inline

检查当前对象是否为空。

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

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

◆ MoveGraphicsObjectByPosition()

long foxit.pdf.GraphicsObjects.MoveGraphicsObjectByPosition ( long  current_position,
long  position_move_after 
)
inline

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

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

◆ RemoveGraphicsObject()

bool foxit.pdf.GraphicsObjects.RemoveGraphicsObject ( GraphicsObject  graphics_object)
inline

删除图形对象。

通过位置删除图形对象(函数 GraphicsObjects.RemoveGraphicsObjectByPosition )比 直接删除图形对象(函数 GraphicsObjects.RemoveGraphicsObject )更直接和有效。

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

◆ RemoveGraphicsObjectByPosition()

bool foxit.pdf.GraphicsObjects.RemoveGraphicsObjectByPosition ( long  position)
inline

通过位置删除图形对象。

通过位置删除图形对象(函数 GraphicsObjects.RemoveGraphicsObjectByPosition )比 直接删除图形对象(函数 GraphicsObjects.RemoveGraphicsObject )更直接和有效。

参数
[in]position用于指定要删除的图形对象的位置。 不应为 null 或 0。
返回
true 表示成功,false 表示失败。
注解
此函数成功时,应调用函数 GraphicsObjects.GenerateContent 。 更多详情请参考函数 GraphicsObjects.GenerateContent