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

Public 成员函数

 GraphicsObjects (GraphicsObjects other)
 构造函数,使用另一个 GraphicsObjects 对象。
更多...
 
synchronized void delete ()
 直接清除C++相关资源。 更多...
 
boolean generateContent () throws com.foxit.sdk.PDFException
 生成当前图形对象的内容。
更多...
 
boolean generateContent (int text_merge_option) throws com.foxit.sdk.PDFException
 生成当前图形对象的内容。
更多...
 
long getFirstGraphicsObjectPosition (int filter) throws com.foxit.sdk.PDFException
 获取图形对象列表中第一个图形对象的位置,基于类型过滤器。
更多...
 
GraphicsObject getGraphicsObject (int index) throws com.foxit.sdk.PDFException
 通过索引获取图形对象。
更多...
 
GraphicsObject getGraphicsObject (long position) throws com.foxit.sdk.PDFException
 通过图形对象列表中的位置获取图形对象。
更多...
 
int getGraphicsObjectCount () throws com.foxit.sdk.PDFException
 获取图形对象列表中图形对象的数量。
更多...
 
int getGraphicsObjectIndex (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 获取指定图形对象在图形对象列表中的索引。
更多...
 
long getGraphicsObjectPosition (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 获取指定图形对象的位置。
更多...
 
long getLastGraphicsObjectPosition (int filter) throws com.foxit.sdk.PDFException
 获取图形对象列表中最后一个图形对象的位置,基于类型过滤器。
更多...
 
long getNextGraphicsObjectPosition (long position, int filter) throws com.foxit.sdk.PDFException
 获取图形对象列表中下一个图形对象的位置, 基于类型过滤器和指定的当前位置。
更多...
 
long getPrevGraphicsObjectPosition (long position, int filter) throws com.foxit.sdk.PDFException
 获取图形对象列表中上一个图形对象的位置, 基于类型过滤器和指定的当前位置。
更多...
 
long insertGraphicsObject (long position_insert_after, GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 在指定位置后插入图形对象。
更多...
 
boolean isEmpty ()
 检查当前对象是否为空。
更多...
 
long moveGraphicsObjectByPosition (long current_position, long position_move_after) throws com.foxit.sdk.PDFException
 将图形对象从一个位置移动到另一个位置。
更多...
 
boolean removeGraphicsObject (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 删除图形对象。
更多...
 
boolean removeGraphicsObjectByPosition (long position) throws com.foxit.sdk.PDFException
 通过位置删除图形对象。
更多...
 

静态 Public 属性

static final int e_TextMergeBTET = 2
 将连续的BTET合并为新的一个。
更多...
 
static final int e_TextMergeNone = 0
 不进行文本合并。

 
static final int e_TextMergeTJY = 1
 合并具有相同y坐标的连续文本显示操作符。

 

详细描述

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

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

构造及析构函数说明

◆ GraphicsObjects()

com.foxit.sdk.pdf.GraphicsObjects.GraphicsObjects ( GraphicsObjects  other)

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

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

成员函数说明

◆ delete()

synchronized void com.foxit.sdk.pdf.GraphicsObjects.delete ( )

直接清除C++相关资源。

返回
无。
注解
一旦这个接口被调用,这个对象将不能再被使用。

重载 com.foxit.sdk.common.Base .

com.foxit.sdk.pdf.PDFPage 重载.

◆ generateContent() [1/2]

boolean com.foxit.sdk.pdf.GraphicsObjects.generateContent ( ) throws com.foxit.sdk.PDFException

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

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

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

◆ generateContent() [2/2]

boolean com.foxit.sdk.pdf.GraphicsObjects.generateContent ( int  text_merge_option) throws com.foxit.sdk.PDFException

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

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

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

◆ getFirstGraphicsObjectPosition()

long com.foxit.sdk.pdf.GraphicsObjects.getFirstGraphicsObjectPosition ( int  filter) throws com.foxit.sdk.PDFException

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

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

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

◆ getGraphicsObject() [1/2]

GraphicsObject com.foxit.sdk.pdf.GraphicsObjects.getGraphicsObject ( int  index) throws com.foxit.sdk.PDFException

通过索引获取图形对象。

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

◆ getGraphicsObject() [2/2]

GraphicsObject com.foxit.sdk.pdf.GraphicsObjects.getGraphicsObject ( long  position) throws com.foxit.sdk.PDFException

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

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

◆ getGraphicsObjectCount()

int com.foxit.sdk.pdf.GraphicsObjects.getGraphicsObjectCount ( ) throws com.foxit.sdk.PDFException

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

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

◆ getGraphicsObjectIndex()

int com.foxit.sdk.pdf.GraphicsObjects.getGraphicsObjectIndex ( GraphicsObject  graphics_object) throws com.foxit.sdk.PDFException

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

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

◆ getGraphicsObjectPosition()

long com.foxit.sdk.pdf.GraphicsObjects.getGraphicsObjectPosition ( GraphicsObject  graphics_object) throws com.foxit.sdk.PDFException

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

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

◆ getLastGraphicsObjectPosition()

long com.foxit.sdk.pdf.GraphicsObjects.getLastGraphicsObjectPosition ( int  filter) throws com.foxit.sdk.PDFException

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

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

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

◆ getNextGraphicsObjectPosition()

long com.foxit.sdk.pdf.GraphicsObjects.getNextGraphicsObjectPosition ( long  position,
int  filter 
) throws com.foxit.sdk.PDFException

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

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

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

◆ getPrevGraphicsObjectPosition()

long com.foxit.sdk.pdf.GraphicsObjects.getPrevGraphicsObjectPosition ( long  position,
int  filter 
) throws com.foxit.sdk.PDFException

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

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

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

◆ insertGraphicsObject()

long com.foxit.sdk.pdf.GraphicsObjects.insertGraphicsObject ( long  position_insert_after,
GraphicsObject  graphics_object 
) throws com.foxit.sdk.PDFException

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

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

◆ isEmpty()

boolean com.foxit.sdk.pdf.GraphicsObjects.isEmpty ( )

检查当前对象是否为空。

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

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

◆ moveGraphicsObjectByPosition()

long com.foxit.sdk.pdf.GraphicsObjects.moveGraphicsObjectByPosition ( long  current_position,
long  position_move_after 
) throws com.foxit.sdk.PDFException

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

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

◆ removeGraphicsObject()

boolean com.foxit.sdk.pdf.GraphicsObjects.removeGraphicsObject ( GraphicsObject  graphics_object) throws com.foxit.sdk.PDFException

删除图形对象。

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

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

◆ removeGraphicsObjectByPosition()

boolean com.foxit.sdk.pdf.GraphicsObjects.removeGraphicsObjectByPosition ( long  position) throws com.foxit.sdk.PDFException

通过位置删除图形对象。

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

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

类成员变量说明

◆ e_TextMergeBTET

final int com.foxit.sdk.pdf.GraphicsObjects.e_TextMergeBTET = 2
static

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

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