Foxit PDF SDK

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

## Public 类型
enum | Type { Type.e_InvalidType = 0, Type.e_Boolean = 1, Type.e_Number = 2, Type.e_String = 3, Type.e_Name = 4, Type.e_Array = 5, Type.e_Dictionary = 6, Type.e_Stream = 7, Type.e_Null = 8, Type.e_Reference = 9 }
| PDF对象类型的枚举。 更多...

## Public 成员函数
PDFObject | CloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
PDFObject | DeepCloneObject ()
| 克隆当前PDF对象并获取克隆的PDF对象。 更多...
PDFArray | GetArray ()
| 获取当前PDF对象的PDF数组对象。 更多...
bool | GetBoolean ()
| 获取当前PDF对象的布尔值。 更多...
DateTime | GetDateTime ()
| 获取当前PDF对象的日期时间值。 更多...
PDFDictionary | GetDict ()
| 获取当前PDF对象的PDF字典对象。 更多...
PDFObject | GetDirectObject ()
| 获取当前PDF对象的直接对象。 更多...
float | GetFloat ()
| 获取当前PDF对象的浮点数值。 更多...
int | GetInteger ()
| 获取当前PDF对象的整数值。 更多...
Matrix2D | GetMatrix ()
| 获取当前PDF对象的矩阵值。 更多...
string | GetName ()
| 获取当前PDF对象的名称值。 更多...
int | GetObjNum ()
| 获取当前PDF对象的间接对象编号。 更多...
RectF | GetRect ()
| 获取当前PDF对象的矩形值。 更多...
PDFStream | GetStream ()
| 获取当前PDF对象的PDF流对象。 更多...
byte [] | GetString ()
| 获取当前PDF对象的字符串值。 更多...
PDFObject.Type | GetType ()
| 获取当前PDF对象的类型。 更多...
string | GetWideString ()
| 获取当前PDF对象的宽字符串值。 更多...
bool | IsIdentical (PDFObject pdf_obj)
| 检查输入的PDF对象是否与当前PDF对象相同。 更多...
void | Release ()
| 释放新创建的PDF对象或克隆PDF对象， 该对象与PDF文档或其他PDF对象无关且不会再使用。 更多...

## 静态 Public 成员函数
static PDFObject | CreateFromBoolean (bool 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)
| 为间接对象创建引用。 更多...

## 详细描述

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

参见
  PDFArray
  PDFDictionary
  PDFStream
  foxit.pdf.PDFDoc

## 成员枚举类型说明

## ◆ Type

enum foxit.pdf.objects.PDFObject.Type
| strong

PDF对象类型的枚举。

此枚举的值应单独使用。

枚举值
e_InvalidType | 无效的PDF对象类型。
e_Boolean | PDF布尔对象。
e_Number | PDF数字对象。
e_String | PDF字符串对象。
e_Name | PDF名称对象。
e_Array | PDF数组对象。
e_Dictionary | PDF字典对象。
e_Stream | PDF流对象。
e_Null | PDF空对象。
e_Reference | PDF引用对象。

## 成员函数说明

## ◆ CloneObject()

PDFObject foxit.pdf.objects.PDFObject.CloneObject | ( |  | ) |
| inline

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

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

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

## ◆ CreateFromBoolean()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromBoolean | ( | bool | boolean_value | ) |
| inline static

从布尔值创建PDF对象。

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

参数

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

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

## ◆ CreateFromDateTime()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromDateTime | ( | DateTime | date_time | ) |
| inline static

从日期时间创建PDF对象。

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

参数

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

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

## ◆ CreateFromFloat()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromFloat | ( | float | float_value | ) |
| inline static

从浮点数创建PDF对象。

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

参数

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

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

## ◆ CreateFromInteger()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromInteger | ( | int | integer_value | ) |
| inline static

Create a PDF object from a integer number.

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

参数

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

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

## ◆ CreateFromName()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromName | ( | string | name | ) |
| inline static

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

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

参数

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

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

## ◆ CreateFromNameW()

static PDFObject foxit.pdf.objects.PDFObject.CreateFromNameW | ( | string | name | ) |
| inline static

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

参数

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

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

## ◆ CreateFromString() [1/2]

static PDFObject foxit.pdf.objects.PDFObject.CreateFromString | ( | string | string_value | ) |
| inline static

从字符串创建PDF对象。

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

参数

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

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

## ◆ CreateFromString() [2/2]

static PDFObject foxit.pdf.objects.PDFObject.CreateFromString | ( | string | string_value,
|  | int | length
| ) |  |
| inline static

从字符串创建PDF对象。

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

参数

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

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

## ◆ CreateReference()

static PDFObject foxit.pdf.objects.PDFObject.CreateReference | ( | PDFDoc | document,
|  | int | object_number
| ) |  |
| inline static

为间接对象创建引用。

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

- 由函数pdf.PDFDoc.GetIndirectObject 返回。

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

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

参数

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

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

## ◆ DeepCloneObject()

PDFObject foxit.pdf.objects.PDFObject.DeepCloneObject | ( |  | ) |
| inline

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

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

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

## ◆ GetArray()

PDFArray foxit.pdf.objects.PDFObject.GetArray | ( |  | ) |
| inline

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

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

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

## ◆ GetBoolean()

bool foxit.pdf.objects.PDFObject.GetBoolean | ( |  | ) |
| inline

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

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

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

## ◆ GetDateTime()

DateTime foxit.pdf.objects.PDFObject.GetDateTime | ( |  | ) |
| inline

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

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

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

## ◆ GetDict()

PDFDictionary foxit.pdf.objects.PDFObject.GetDict | ( |  | ) |
| inline

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

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

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

## ◆ GetDirectObject()

PDFObject foxit.pdf.objects.PDFObject.GetDirectObject | ( |  | ) |
| inline

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

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

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

## ◆ GetFloat()

float foxit.pdf.objects.PDFObject.GetFloat | ( |  | ) |
| inline

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

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

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

## ◆ GetInteger()

int foxit.pdf.objects.PDFObject.GetInteger | ( |  | ) |
| inline

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

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

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

## ◆ GetMatrix()

Matrix2D foxit.pdf.objects.PDFObject.GetMatrix | ( |  | ) |
| inline

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

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

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

## ◆ GetName()

string foxit.pdf.objects.PDFObject.GetName | ( |  | ) |
| inline

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

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

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

## ◆ GetObjNum()

int foxit.pdf.objects.PDFObject.GetObjNum | ( |  | ) |
| inline

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

返回
  间接对象编号。它可能是：

  - 0，如果当前PDF对象是直接对象。

  - 大于0，如果当前PDF对象是间接对象。

  - -1表示有任何错误。

## ◆ GetRect()

RectF foxit.pdf.objects.PDFObject.GetRect | ( |  | ) |
| inline

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

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

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

## ◆ GetStream()

PDFStream foxit.pdf.objects.PDFObject.GetStream | ( |  | ) |
| inline

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

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

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

## ◆ GetString()

DX_BYTE_ARRAY foxit.pdf.objects.PDFObject.GetString | ( |  | ) |
| inline

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

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

- 如果对象类型为foxit.pdf.objects.PDFObject.Type.e_Boolean ， 将返回"true"或"false"字符串值，具体取决于其实际值。

- 如枟对象类型为foxit.pdf.objects.PDFObject.Type.e_Number ， 该值将被表示为字符串。例如，值1.5将表示为"1.5"字符串。

- 如果对象类型为foxit.pdf.objects.PDFObject.Type.e_String ，将 直接检索字符串值。

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

返回
  一个字符串。

## ◆ GetType()

PDFObject.Type foxit.pdf.objects.PDFObject.GetType | ( |  | ) |
| inline

获取当前PDF对象的类型。

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

## ◆ GetWideString()

string foxit.pdf.objects.PDFObject.GetWideString | ( |  | ) |
| inline

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

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

- 如果对象类型为foxit.pdf.objects.PDFObject.Type.e_Boolean ， 将返回"true"或"false"字符串值，具体取决于其实际值。

- 如果对象类型为foxit.pdf.objects.PDFObject.Type.e_Number ， 该值将被表示为字符串。例如，值1.5将表示为"1.5"字符串。

- 如果对象类型为foxit.pdf.objects.PDFObject.Type.e_String ，将 直接检索字符串值。

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

返回
  一个字符串。

## ◆ IsIdentical()

bool foxit.pdf.objects.PDFObject.IsIdentical | ( | PDFObject | pdf_obj | ) |
| inline

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

参数

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

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

## ◆ Release()

void foxit.pdf.objects.PDFObject.Release | ( |  | ) |
| inline

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

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

返回
  无。