Foxit PDF SDK

Public 成员函数 | 静态 Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::PDFObject类 参考
类 FSDK::PDFObject 继承关系图:

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

## 静态 Public 成员函数
static | CreateFromBoolean (boolean_value)
| 从布尔值创建PDF对象。 更多...
static | CreateFromDateTime (date_time)
| 从日期时间创建PDF对象。 更多...
static | CreateFromFloat (float_value)
| 从浮点数创建PDF对象。 更多...
static | CreateFromInteger (integer_value)
| 从整数创建PDF对象。 更多...
static | CreateFromName (name)
| 从表示名称的字符串创建PDF对象。 更多...
static | CreateFromNameW (name)
| 从表示名称的字符串创建PDF对象。 更多...
static | CreateFromString (string_value)
| 从字符串创建PDF对象。 更多...
static | CreateFromString (string_value, length)
| 从字符串创建PDF对象。 更多...
static | CreateReference (document, object_number)
| 为间接对象创建引用。 更多...

## 静态 Public 属性
static | e_Array
| PDF数组对象。
static | e_Boolean
| PDF布尔对象。
static | e_Dictionary
| PDF字典对象。
static | e_InvalidType
| PDF对象类型的枚举。 更多...
static | e_Name
| PDF名称对象。
static | e_Null
| PDF空对象。
static | e_Number
| PDF数字对象。
static | e_Reference
| PDF引用对象。
static | e_Stream
| PDF流对象。
static | e_String
| PDF字符串对象。

## 详细描述

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

参见
  FSDK.PDFArray
  FSDK.PDFDictionary
  FSDK.PDFStream
  FSDK.PDFDoc

## 成员函数说明

## ◆ CloneObject()

FSDK::PDFObject::CloneObject | ( |  | ) |

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

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

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

## ◆ CreateFromBoolean()

static FSDK::PDFObject::CreateFromBoolean | ( | boolean_value |  | ) |
| static

从布尔值创建PDF对象。

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

参数

  [in] | boolean_value | 布尔值。

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Boolean。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromDateTime()

static FSDK::PDFObject::CreateFromDateTime | ( | date_time |  | ) |
| static

从日期时间创建PDF对象。

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

参数

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

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_String。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromFloat()

static FSDK::PDFObject::CreateFromFloat | ( | float_value |  | ) |
| static

从浮点数创建PDF对象。

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

参数

  [in] | float_value | 浮点值。

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Number。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromInteger()

static FSDK::PDFObject::CreateFromInteger | ( | integer_value |  | ) |
| static

从整数创建PDF对象。

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

参数

  [in] | integer_value | 整数值。

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Number。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromName()

static FSDK::PDFObject::CreateFromName | ( | name |  | ) |
| static

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

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

参数

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

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Name。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromNameW()

static FSDK::PDFObject::CreateFromNameW | ( | name |  | ) |
| static

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

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

参数

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

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Name。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromString() [1/2]

static FSDK::PDFObject::CreateFromString | ( | string_value |  | ) |
| static

从字符串创建PDF对象。

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

参数

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

返回
  FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_String。 如果有任何错误，此函数将返回 null。

## ◆ CreateFromString() [2/2]

static FSDK::PDFObject::CreateFromString | ( | string_value | ,
|  | length |
| ) |  |
| static

从字符串创建PDF对象。

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

参数

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

返回
  FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_String。 如果有任何错误，此函数将返回 null。

## ◆ CreateReference()

static FSDK::PDFObject::CreateReference | ( | document | ,
|  | object_number |
| ) |  |
| static

为间接对象创建引用。

间接对象可以通过以下方法检索：

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

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

参数

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

返回
  新的 FSDK.PDFObject 对象，其对象类型为 FSDK.PDFObject.e_Reference。 如果有任何错误，此函数将返回 null。

## ◆ DeepCloneObject()

FSDK::PDFObject::DeepCloneObject | ( |  | ) |

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

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

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

## ◆ GetArray()

FSDK::PDFObject::GetArray | ( |  | ) |

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

如果当前PDF对象的类型为 FSDK.PDFObject.e_Reference， 此函数将检查当前PDF对象的直接PDF对象。

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

## ◆ GetBoolean()

FSDK::PDFObject::GetBoolean | ( |  | ) |

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

仅当当前PDF对象的类型为 FSDK.PDFObject.e_Boolean 时有用。

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

## ◆ GetDateTime()

FSDK::PDFObject::GetDateTime | ( |  | ) |

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

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

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

## ◆ GetDict()

FSDK::PDFObject::GetDict | ( |  | ) |

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

如果当前PDF对象的类型为 FSDK.PDFObject.e_Reference， 此函数将检查当前PDF对象的直接PDF对象。

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

## ◆ GetDirectObject()

FSDK::PDFObject::GetDirectObject | ( |  | ) |

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

如果当前PDF对象的类型为 FSDK.PDFObject.e_Reference， 将返回直接对象。

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

## ◆ GetFloat()

FSDK::PDFObject::GetFloat | ( |  | ) |

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

仅当当前PDF对象的类型为 FSDK.PDFObject.e_Number 时有用。

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

## ◆ GetInteger()

FSDK::PDFObject::GetInteger | ( |  | ) |

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

仅当当前PDF对象的类型为 FSDK.PDFObject.e_Number 时有用。

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

## ◆ GetMatrix()

FSDK::PDFObject::GetMatrix | ( |  | ) |

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

仅对类型为 FSDK.PDFObject.e_Array 且 具有6个数字对象作为元素的PDF对象有用。

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

## ◆ GetName()

FSDK::PDFObject::GetName | ( |  | ) |

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

仅当当前PDF对象的类型为 FSDK.PDFObject.e_Name 或 FSDK.PDFObject.e_String 时有用。

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

## ◆ GetObjNum()

FSDK::PDFObject::GetObjNum | ( |  | ) |

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

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

## ◆ GetRect()

FSDK::PDFObject::GetRect | ( |  | ) |

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

仅对类型为 FSDK.PDFObject.e_Array 且 具有4个数字对象作为元素的PDF对象有用。

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

## ◆ GetStream()

FSDK::PDFObject::GetStream | ( |  | ) |

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

如果当前PDF对象的类型为 FSDK.PDFObject.e_Reference， 此函数将检查当前PDF对象的直接PDF对象。

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

## ◆ GetString()

FSDK::PDFObject::GetString | ( |  | ) |

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

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

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

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

返回
  字符串。

## ◆ GetType()

FSDK::PDFObject::GetType | ( |  | ) |

获取当前PDF对象的类型。

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

## ◆ GetWideString()

FSDK::PDFObject::GetWideString | ( |  | ) |

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

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

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

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

返回
  字符串。

## ◆ IsIdentical()

FSDK::PDFObject::IsIdentical | ( | pdf_obj |  | ) |

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

参数

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

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

## ◆ Release()

FSDK::PDFObject::Release | ( |  | ) |

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

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

返回
  无。

## 类成员变量说明

## ◆ e_InvalidType

FSDK::PDFObject::e_InvalidType
| static

PDF对象类型的枚举。

此枚举的值应单独使用。

无效的PDF对象类型。