Foxit PDF SDK
foxit::pdf::objects::PDFObject类 参考
类 foxit::pdf::objects::PDFObject 继承关系图:
foxit::pdf::objects::PDFArray foxit::pdf::objects::PDFDictionary foxit::pdf::objects::PDFStream

Public 类型

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

Public 成员函数

PDFObjectCloneObject () const
 克隆当前PDF对象并获取克隆的PDF对象。 更多...
 
PDFObjectDeepCloneObject () const
 克隆当前PDF对象并获取克隆的PDF对象。 更多...
 
PDFArrayGetArray ()
 获取当前PDF对象的PDF数组对象。 更多...
 
bool GetBoolean () const
 获取当前PDF对象的布尔值。 更多...
 
DateTime GetDateTime () const
 获取当前PDF对象的日期时间值。 更多...
 
PDFDictionaryGetDict ()
 获取当前PDF对象的PDF字典对象。 更多...
 
PDFObjectGetDirectObject () const
 获取当前PDF对象的直接对象。 更多...
 
float GetFloat () const
 获取当前PDF对象的浮点数值。 更多...
 
int GetInteger () const
 获取当前PDF对象的整数值。 更多...
 
Matrix GetMatrix () const
 获取当前PDF对象的矩阵值。 更多...
 
String GetName () const
 获取当前PDF对象的名称值。 更多...
 
uint32 GetObjNum () const
 获取当前PDF对象的间接对象编号。 更多...
 
RectF GetRect () const
 获取当前PDF对象的矩形值。 更多...
 
PDFStreamGetStream ()
 获取当前PDF对象的PDF流对象。 更多...
 
String GetString () const
 获取当前PDF对象的字符串值。 更多...
 
Type GetType () const
 获取当前PDF对象的类型。 更多...
 
WString GetWideString () const
 获取当前PDF对象的宽字符串值。 更多...
 
bool IsIdentical (PDFObject *pdf_obj) const
 检查输入的PDF对象是否与当前PDF对象相同。 更多...
 
void Release ()
 释放新创建的PDF对象或克隆PDF对象, 该对象与PDF文档或其他PDF对象无关且不会再使用。 更多...
 

静态 Public 成员函数

static PDFObjectCreateFromBoolean (bool boolean_value)
 从布尔值创建PDF对象。 更多...
 
static PDFObjectCreateFromDateTime (const DateTime &date_time)
 从日期时间创建PDF对象。 更多...
 
static PDFObjectCreateFromFloat (float float_value)
 从浮点数创建PDF对象。 更多...
 
static PDFObjectCreateFromInteger (int integer_value)
 Create a PDF object from a integer number. 更多...
 
static PDFObjectCreateFromName (const char *name)
 从表示名称的字符串创建PDF对象。 更多...
 
static PDFObjectCreateFromNameW (const wchar_t *name)
 从表示名称的字符串创建PDF对象。 更多...
 
static PDFObjectCreateFromString (const wchar_t *string_value)
 从字符串创建PDF对象。 更多...
 
static PDFObjectCreateFromString (const wchar_t *string_value, int length)
 从字符串创建PDF对象。 更多...
 
static PDFObjectCreateReference (PDFDoc document, uint32 object_number)
 为间接对象创建引用。 更多...
 

详细描述

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

参见
PDFArray
PDFDictionary
PDFStream
pdf::PDFDoc

成员枚举类型说明

◆ Type

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 ( ) const

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

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

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

◆ CreateFromBoolean()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromBoolean ( bool  boolean_value)
static

从布尔值创建PDF对象。

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

参数
[in]boolean_value一个布尔值。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Boolean。 如果有任何错误,此函数将返回NULL

◆ CreateFromDateTime()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromDateTime ( const DateTime date_time)
static

从日期时间创建PDF对象。

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

参数
[in]date_time一个日期和时间对象。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_String。 如果有任何错误,此函数将返回NULL

◆ CreateFromFloat()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromFloat ( float  float_value)
static

从浮点数创建PDF对象。

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

参数
[in]float_value一个浮点值。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Number。 如果有任何错误,此函数将返回NULL

◆ CreateFromInteger()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromInteger ( int  integer_value)
static

Create a PDF object from a integer number.

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

参数
[in]integer_value一个整数值。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Number。 如果有任何错误,此函数将返回NULL

◆ CreateFromName()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromName ( const char *  name)
static

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

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

参数
[in]name一个字符串。不应为空字符串。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Name。 如果有任何错误,此函数将返回NULL

◆ CreateFromNameW()

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromNameW ( const wchar_t *  name)
static

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

参数
[in]name一个字符串。不应为空字符串。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Name。 如果创建的对象尚未添加/设置到PDF文档或其他PDF对象中且不会再使用, 请调用函数PDFObject::Release来释放该对象。

◆ CreateFromString() [1/2]

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromString ( const wchar_t *  string_value)
static

从字符串创建PDF对象。

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

参数
[in]string_value一个字符串。不应为空字符串。
返回
一个PDFObject对象,其对象类型为PDFObject::e_String。 如果有任何错误,此函数将返回NULL

◆ CreateFromString() [2/2]

static PDFObject* foxit::pdf::objects::PDFObject::CreateFromString ( const wchar_t *  string_value,
int  length 
)
static

从字符串创建PDF对象。

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

参数
[in]string_value一个字符串。不应为空字符串。
[in]length宽字符串的长度。长度应该是正值或-1。 值-1表示以零结尾的宽字符串。
返回
一个PDFObject对象,其对象类型为PDFObject::e_String。 如果有任何错误,此函数将返回NULL

◆ CreateReference()

static PDFObject* foxit::pdf::objects::PDFObject::CreateReference ( PDFDoc  document,
uint32  object_number 
)
static

为间接对象创建引用。

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

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

参数
[in]document一个有效的PDF文档对象。
[in]object_number间接PDF对象的间接对象编号。该值应大于0。
返回
一个新的PDFObject对象,其对象类型为PDFObject::e_Reference。 如果有任何错误,此函数将返回NULL

◆ DeepCloneObject()

PDFObject* foxit::pdf::objects::PDFObject::DeepCloneObject ( ) const

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

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

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

◆ GetArray()

PDFArray* foxit::pdf::objects::PDFObject::GetArray ( )

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

如果当前PDF对象的类型是PDFObject::e_Reference, 此函数将检查当前PDF对象的直接PDF对象。

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

◆ GetBoolean()

bool foxit::pdf::objects::PDFObject::GetBoolean ( ) const

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

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

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

◆ GetDateTime()

DateTime foxit::pdf::objects::PDFObject::GetDateTime ( ) const

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

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

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

◆ GetDict()

PDFDictionary* foxit::pdf::objects::PDFObject::GetDict ( )

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

如果当前PDF对象的类型是PDFObject::e_Reference, 此函数将检查当前PDF对象的直接PDF对象。

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

◆ GetDirectObject()

PDFObject* foxit::pdf::objects::PDFObject::GetDirectObject ( ) const

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

如果当前PDF对象的类型是PDFObject::e_Reference, 将返回直接对象。

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

◆ GetFloat()

float foxit::pdf::objects::PDFObject::GetFloat ( ) const

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

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

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

◆ GetInteger()

int foxit::pdf::objects::PDFObject::GetInteger ( ) const

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

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

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

◆ GetMatrix()

Matrix foxit::pdf::objects::PDFObject::GetMatrix ( ) const

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

仅对类型为PDFObject::e_Array且 包含6个数字对象作为元素的PDF对象有用。

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

◆ GetName()

String foxit::pdf::objects::PDFObject::GetName ( ) const

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

仅当当前PDF对象的类型为 PDFObject::e_NamePDFObject::e_String时有用。

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

◆ GetObjNum()

uint32 foxit::pdf::objects::PDFObject::GetObjNum ( ) const

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

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

◆ GetRect()

RectF foxit::pdf::objects::PDFObject::GetRect ( ) const

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

仅对类型为PDFObject::e_Array且 包含4个数字对象作为元素的PDF对象有用。

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

◆ GetStream()

PDFStream* foxit::pdf::objects::PDFObject::GetStream ( )

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

如果当前PDF对象的类型是PDFObject::e_Reference, 此函数将检查当前PDF对象的直接PDF对象。

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

◆ GetString()

String foxit::pdf::objects::PDFObject::GetString ( ) const

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

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

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

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

返回
一个字符串。

◆ GetType()

Type foxit::pdf::objects::PDFObject::GetType ( ) const

获取当前PDF对象的类型。

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

◆ GetWideString()

WString foxit::pdf::objects::PDFObject::GetWideString ( ) const

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

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

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

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

返回
一个字符串。

◆ IsIdentical()

bool foxit::pdf::objects::PDFObject::IsIdentical ( PDFObject pdf_obj) const

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

参数
[in]pdf_obj另一个PDF对象,将与当前PDF对象进行比较。
返回
true表示输入的PDF对象与当前PDF对象相同, 而false表示输入的PDF对象与当前PDF对象不相同。

◆ Release()

void foxit::pdf::objects::PDFObject::Release ( )

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

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

返回
无。