Foxit PDF SDK

Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.pdf.objects.PDFObject类 参考
类 com.foxit.sdk.pdf.objects.PDFObject 继承关系图:

## Public 成员函数
PDFObject | cloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
PDFObject | deepCloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
PDFArray | getArray ()
| 获取当前PDF对象的PDF数组对象。 更多...
boolean | getBoolean () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的布尔值。 更多...
DateTime | getDateTime () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的日期时间值。 更多...
PDFDictionary | getDict ()
| 获取当前PDF对象的PDF字典对象。 更多...
PDFObject | getDirectObject ()
| 获取当前PDF对象的直接对象。 更多...
float | getFloat () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的浮点数值。 更多...
int | getInteger () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的整数值。 更多...
Matrix2D | getMatrix () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的矩阵值。 更多...
String | getName () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的名称值。 更多...
int | getObjNum ()
| 获取当前PDF对象的间接对象编号。 更多...
RectF | getRect () throws com.foxit.sdk.PDFException
| 获取当前PDF对象的矩形值。 更多...
PDFStream | getStream ()
| 获取当前PDF对象的PDF流对象。 更多...
byte[] | getString ()
| 获取当前PDF对象的字符串值。 更多...
int | getType ()
| 获取当前PDF对象的类型。 更多...
String | getWideString ()
| 获取当前PDF对象的宽字符串值。 更多...
boolean | isIdentical (PDFObject pdf_obj)
| 检查输入的PDF对象是否与当前PDF对象相同。 更多...
void | release ()
| 释放新创建的PDF对象或克隆PDF对象， 该对象与PDF文档或其他PDF对象无关且不会再使用。 更多...

## 静态 Public 成员函数
static PDFObject | createFromBoolean (boolean boolean_value)
| 从布尔值创建PDF对象。 更多...
static PDFObject | createFromDateTime (DateTime date_time)
| 从日期时间创建PDF对象。 更多...
static PDFObject | createFromFloat (float float_value)
| 从浮点数创建PDF对象。 更多...
static PDFObject | createFromInteger (int integer_value)
| Create a PDF object from a integer number. 更多...
static PDFObject | createFromName (String name)
| 从表示名称的字符串创建PDF对象。 更多...
static PDFObject | createFromNameW (String name)
| 从表示名称的字符串创建PDF对象。 更多...
static PDFObject | createFromString (String string_value)
| 从字符串创建PDF对象。 更多...
static PDFObject | createFromString (String string_value, int length)
| 从字符串创建PDF对象。 更多...
static PDFObject | createReference (PDFDoc document, int object_number)
| 为间接对象创建引用。 更多...

## 静态 Public 属性
static final int | e_Array = 5
| PDF数组对象。
static final int | e_Boolean = 1
| PDF布尔对象。
static final int | e_Dictionary = 6
| PDF字典对象。
static final int | e_InvalidType = 0
| 无效的PDF对象类型。
static final int | e_Name = 4
| PDF名称对象。
static final int | e_Null = 8
| PDF空对象。
static final int | e_Number = 2
| PDF数字对象。
static final int | e_Reference = 9
| PDF引用对象。
static final int | e_Stream = 7
| PDF流对象。
static final int | e_String = 3
| PDF字符串对象。

## 详细描述

PDF支持八种基本类型的对象：
“布尔值”、“整数和实数”、“字符串”、“名称”、 “数组”、“字典”、“流”、“空对象”。有关PDF对象的更多详细信息， 请参考<PDF Reference 1.7>中的第3.2节“对象”。
类PDFObject 是所有类型PDF对象的基类。它提供了不同的函数来 创建不同类型的PDF对象。对于“数组”、“字典”和“流”PDF对象，请参考 派生类com.foxit.sdk.pdf.objects.PDFArray 、com.foxit.sdk.pdf.objects.PDFDictionary 和PDFStream 。
如果用户想要将新创建的PDF对象设为间接对象，请调用函数 pdf.PDFDoc.addIndirectObject 。

参见
  PDFArray
  PDFDictionary
  PDFStream
  com.foxit.sdk.pdf.PDFDoc

## 成员函数说明

## ◆ cloneObject()

PDFObject com.foxit.sdk.pdf.objects.PDFObject.cloneObject | ( |  | ) |

克隆当前PDF对象并获取克隆的PDF对象。

如果新对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用PDFObject.release 来释放该对象。

返回
  一个新的PDFObject 对象作为克隆结果。 如果有任何错误，此函数将返回null。

## ◆ createFromBoolean()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromBoolean | ( | boolean | boolean_value | ) |
| static

从布尔值创建PDF对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | boolean_value | 一个布尔值。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Boolean 。 如果有任何错误，此函数将返回null。

## ◆ createFromDateTime()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromDateTime | ( | DateTime | date_time | ) |
| static

从日期时间创建PDF对象。

PDF定义了一种标准的日期格式，它严格遵循 国际标准ASN.1（抽象语法记号法一），定义于ISO/ IEC 8824（请参阅参考文献）。日期被定义为以下形式的ASCII字符串 (D:YYYYMMDDHHmmSSOHH'mm')。 如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | date_time | 一个日期和时间对象。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_String 。 如果有任何错误，此函数将返回null。

## ◆ createFromFloat()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromFloat | ( | float | float_value | ) |
| static

从浮点数创建PDF对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | float_value | 一个浮点值。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number 。 如果有任何错误，此函数将返回null。

## ◆ createFromInteger()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromInteger | ( | int | integer_value | ) |
| static

Create a PDF object from a integer number.

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | integer_value | 一个整数值。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number 。 如果有任何错误，此函数将返回null。

## ◆ createFromName()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromName | ( | String | name | ) |
| static

从表示名称的字符串创建PDF对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | name | 一个字符串。不应为空字符串。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Name 。 如果有任何错误，此函数将返回null。

## ◆ createFromNameW()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromNameW | ( | String | name | ) |
| static

从表示名称的字符串创建PDF对象。

参数

  [in] | name | 一个字符串。不应为空字符串。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Name 。 如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

## ◆ createFromString() [1/2]

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromString | ( | String | string_value | ) |
| static

从字符串创建PDF对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | string_value | 一个字符串。不应为空字符串。

返回
  一个PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_String 。 如果有任何错误，此函数将返回null。

## ◆ createFromString() [2/2]

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createFromString | ( | String | string_value,
|  | int | length
| ) |  |
| static

从字符串创建PDF对象。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | string_value | 一个字符串。不应为空字符串。
  [in] | length | 宽字符串的长度。长度应该是正值或-1。 值-1表示以零结尾的宽字符串。

返回
  一个PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_String 。 如果有任何错误，此函数将返回null。

## ◆ createReference()

static PDFObject com.foxit.sdk.pdf.objects.PDFObject.createReference | ( | PDFDoc | document,
|  | int | object_number
| ) |  |
| static

为间接对象创建引用。

可以通过以下方法获取间接对象：

- 由函数pdf.PDFDoc.getIndirectObject 返回。
- 由函数pdf.PDFDoc.addIndirectObject 返回，当尝试将直接PDF对象 添加到PDF文档并使其成为间接对象时。

如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用函数PDFObject.release 来释放该对象。

参数

  [in] | document | 一个有效的PDF文档对象。
  [in] | object_number | 间接PDF对象的间接对象编号。该值应大于0。

返回
  一个新的PDFObject 对象，其对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Reference 。 如果有任何错误，此函数将返回null。

## ◆ deepCloneObject()

PDFObject com.foxit.sdk.pdf.objects.PDFObject.deepCloneObject | ( |  | ) |

克隆当前PDF对象并获取克隆的PDF对象。

此函数是完全的直接复制，内部没有任何引用对象， 因此复制的对象可以被复制到另一个文档。 如枟新对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用， 请调用PDFObject.release 来释放该对象。

返回
  一个新的PDFObject 对象作为克隆结果。 如果有任何错误，此函数将返回null。

## ◆ delete()

synchronized void com.foxit.sdk.pdf.objects.PDFObject.delete | ( |  | ) |

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

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

被 com.foxit.sdk.pdf.objects.PDFArray, com.foxit.sdk.pdf.objects.PDFDictionary , 以及 com.foxit.sdk.pdf.objects.PDFStream 重载.

## ◆ getArray()

PDFArray com.foxit.sdk.pdf.objects.PDFObject.getArray | ( |  | ) |

获取当前PDF对象的PDF数组对象。

如果当前PDF对象的类型是com.foxit.sdk.pdf.objects.PDFObject.e_Reference ， 此函数将检查当前PDF对象的直接PDF对象。

返回
  一个PDF数组对象。如果当前PDF对象或直接PDF对象不是PDF数组， 将返回null。

## ◆ getBoolean()

boolean com.foxit.sdk.pdf.objects.PDFObject.getBoolean | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的布尔值。

仅当当前PDF对象的类型为com.foxit.sdk.pdf.objects.PDFObject.e_Boolean 时有用。

返回
  布尔值。对于其他类型的PDF对象，将返回false。

## ◆ getDateTime()

DateTime com.foxit.sdk.pdf.objects.PDFObject.getDateTime | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的日期时间值。

仅当当前PDF对象的类型为com.foxit.sdk.pdf.objects.PDFObject.e_String 且其内容为PDF标准日期格式时有用。

返回
  日期时间信息。如果有任何错误或当前对象为其他类型， 将返回一个空的日期和时间对象。

## ◆ getDict()

PDFDictionary com.foxit.sdk.pdf.objects.PDFObject.getDict | ( |  | ) |

获取当前PDF对象的PDF字典对象。

如果当前PDF对象的类型是com.foxit.sdk.pdf.objects.PDFObject.e_Reference ， 此函数将检查当前PDF对象的直接PDF对象。

返回
  一个PDF字典对象。如果当前PDF对象或直接PDF对象不是PDF字典， 将返回null。

## ◆ getDirectObject()

PDFObject com.foxit.sdk.pdf.objects.PDFObject.getDirectObject | ( |  | ) |

获取当前PDF对象的直接对象。

如果当前PDF对象的类型是com.foxit.sdk.pdf.objects.PDFObject.e_Reference ， 将返回直接对象。

返回
  直接PDF对象。对于其他类型的PDF对象，此函数将返回当前PDF对象本身。 如果有任何错误，此函数将返回null。

## ◆ getFloat()

float com.foxit.sdk.pdf.objects.PDFObject.getFloat | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的浮点数值。

仅当当前PDF对象的类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number 时有用。

返回
  浮点数值。对于其他类型的PDF对象，将返回0.0f。

## ◆ getInteger()

int com.foxit.sdk.pdf.objects.PDFObject.getInteger | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的整数值。

仅当当前PDF对象的类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number 时有用。

返回
  整数值。对于其他类型的PDF对象，将返回0。

## ◆ getMatrix()

Matrix2D com.foxit.sdk.pdf.objects.PDFObject.getMatrix | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的矩阵值。

仅对类型为com.foxit.sdk.pdf.objects.PDFObject.e_Array 且 包含6个数字对象作为元素的PDF对象有用。

返回
  一个矩阵。如果有任何错误或当前对象为其他类型， 将返回值为[0 0 0 0 0 0]的矩阵。

## ◆ getName()

String com.foxit.sdk.pdf.objects.PDFObject.getName | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的名称值。

仅当当前PDF对象的类型为 com.foxit.sdk.pdf.objects.PDFObject.e_Name 或com.foxit.sdk.pdf.objects.PDFObject.e_String 时有用。

返回
  表示该值的字符串。如果有任何错误或当前对象为其他类型， 将返回空字符串。

## ◆ getObjNum()

int com.foxit.sdk.pdf.objects.PDFObject.getObjNum | ( |  | ) |

获取当前PDF对象的间接对象编号。

返回
  间接对象编号。它可能是：
  - 0，如果当前PDF对象是直接对象。
  - 大于0，如果当前PDF对象是间接对象。
  - -1表示有任何错误。

## ◆ getRect()

RectF com.foxit.sdk.pdf.objects.PDFObject.getRect | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前PDF对象的矩形值。

仅对类型为com.foxit.sdk.pdf.objects.PDFObject.e_Array 且 包含4个数字对象作为元素的PDF对象有用。

返回
  一个矩形。如果有任何错误或当前对象为其他类型， 将返回值为[0 0 0 0]的矩形。

## ◆ getStream()

PDFStream com.foxit.sdk.pdf.objects.PDFObject.getStream | ( |  | ) |

获取当前PDF对象的PDF流对象。

如果当前PDF对象的类型是com.foxit.sdk.pdf.objects.PDFObject.e_Reference ， 此函数将检查当前PDF对象的直接PDF对象。

返回
  一个PDF流对象。如果当前PDF对象或直接PDF对象不是PDF流， 将返回null。

## ◆ getString()

DX_BYTE_ARRAY com.foxit.sdk.pdf.objects.PDFObject.getString | ( |  | ) |

获取当前PDF对象的字符串值。

此函数将获取当前PDF对象实际值的字符串格式：

- 如果对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Boolean ， 将返回"true"或"false"字符串值，具体取决于其实际值。
- 如枟对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number ， 该值将被表示为字符串。例如，值1.5将表示为"1.5"字符串。
- 如果对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_String ，将 直接检索字符串值。

如果当前PDF对象的值无法转换为有效的字符串，将返回空字符串。

返回
  一个字符串。

## ◆ getType()

int com.foxit.sdk.pdf.objects.PDFObject.getType | ( |  | ) |

获取当前PDF对象的类型。

返回
  PDF对象类型。请参考从com.foxit.sdk.pdf.objects.PDFObject.e_Boolean 开始的值， 此值将是这些值之一。

## ◆ getWideString()

String com.foxit.sdk.pdf.objects.PDFObject.getWideString | ( |  | ) |

获取当前PDF对象的宽字符串值。

此函数将获取当前PDF对象实际值的字符串格式：

- 如果对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Boolean ， 将返回"true"或"false"字符串值，具体取决于其实际值。
- 如果对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_Number ， 该值将被表示为字符串。例如，值1.5将表示为"1.5"字符串。
- 如果对象类型为com.foxit.sdk.pdf.objects.PDFObject.e_String ，将 直接检索字符串值。

如果当前PDF对象的值无法转换为有效的字符串，将返回空字符串。

返回
  一个字符串。

## ◆ isIdentical()

boolean com.foxit.sdk.pdf.objects.PDFObject.isIdentical | ( | PDFObject | pdf_obj | ) |

检查输入的PDF对象是否与当前PDF对象相同。

参数

  [in] | pdf_obj | 另一个PDF对象，将与当前PDF对象进行比较。

返回
  true表示输入的PDF对象与当前PDF对象相同， 而false表示输入的PDF对象与当前PDF对象不相同。

## ◆ release()

void com.foxit.sdk.pdf.objects.PDFObject.release | ( |  | ) |

释放新创建的PDF对象或克隆PDF对象， 该对象与PDF文档或其他PDF对象无关且不会再使用。

此函数应仅用于新创建的PDF对象或克隆的PDF对象， 该对象尚未被添加或设置到其他PDF对象或与PDF文档相关联， 且不会再使用。请勿在其他情况下使用此函数， 否则可能会发生未知错误。

返回
  无。