Foxit PDF SDK
FSPDFObject类 参考
类 FSPDFObject 继承关系图:
FSPDFStream

构造函数

(FSPDFObject *) - cloneObject
 克隆当前PDF对象并获取克隆的PDF对象。
更多...
 
(FSPDFObject *) - deepCloneObject
 克隆当前PDF对象并获取克隆的PDF对象。
更多...
 
(void) - destroy
 释放新创建的PDF对象或克隆PDF对象, 该对象与PDF文档或其他PDF对象无关且不会再使用。
更多...
 
(FSPDFArray *) - getArray
 获取当前PDF对象的PDF数组对象。
更多...
 
(BOOL) - getBoolean
 获取当前PDF对象的布尔值。
更多...
 
(FSDateTime *) - getDateTime
 获取当前PDF对象的日期时间值。
更多...
 
(FSPDFDictionary *) - getDict
 获取当前PDF对象的PDF字典对象。
更多...
 
(FSPDFObject *) - getDirectObject
 获取当前PDF对象的直接对象。
更多...
 
(float) - getFloat
 获取当前PDF对象的浮点数值。
更多...
 
(int) - getInteger
 获取当前PDF对象的整数值。
更多...
 
(FSMatrix2D *) - getMatrix
 获取当前PDF对象的矩阵值。
更多...
 
(NSString *) - getName
 获取当前PDF对象的名称值。
更多...
 
(unsigned int) - getObjNum
 获取当前PDF对象的间接对象编号。
更多...
 
(FSRectF *) - getRect
 获取当前PDF对象的矩形值。
更多...
 
(FSPDFStream *) - getStream
 获取当前PDF对象的PDF流对象。
更多...
 
(NSData *) - getString
 获取当前PDF对象的字符串值。
更多...
 
(FSPDFObjectType- getType
 获取当前PDF对象的类型。
更多...
 
(NSString *) - getWideString
 获取当前PDF对象的宽字符串值。
更多...
 
(BOOL) - isIdentical:
 检查输入的PDF对象是否与当前PDF对象相同。
更多...
 

类方法

(FSPDFObject *) + createFromBoolean:
 从布尔值创建PDF对象。
更多...
 
(FSPDFObject *) + createFromDateTime:
 从日期时间创建PDF对象。
更多...
 
(FSPDFObject *) + createFromFloat:
 从浮点数创建PDF对象。
更多...
 
(FSPDFObject *) + createFromInteger:
 Create a PDF object from a integer number.
更多...
 
(FSPDFObject *) + createFromName:
 从表示名称的字符串创建PDF对象。
更多...
 
(FSPDFObject *) + createFromNameW:
 从表示名称的字符串创建PDF对象。
更多...
 
(FSPDFObject *) + createFromString:
 从字符串创建PDF对象。
更多...
 
(FSPDFObject *) + createFromStringWithLength:length:
 从字符串创建PDF对象。
更多...
 
(FSPDFObject *) + createReference:object_number:
 为间接对象创建引用。
更多...
 

详细描述

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

参见
FSPDFArray
FSPDFDictionary
FSPDFStream
FSPDFDoc

函数文档

◆ cloneObject()

- (FSPDFObject *) cloneObject

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

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

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

◆ createFromBoolean:()

+ (FSPDFObject *) createFromBoolean: (BOOL)  boolean_value

从布尔值创建PDF对象。

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

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

◆ createFromDateTime:()

+ (FSPDFObject *) createFromDateTime: (FSDateTime*)  date_time

从日期时间创建PDF对象。

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

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

◆ createFromFloat:()

+ (FSPDFObject *) createFromFloat: (float)  float_value

从浮点数创建PDF对象。

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

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

◆ createFromInteger:()

+ (FSPDFObject *) createFromInteger: (int)  integer_value

Create a PDF object from a integer number.

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

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

◆ createFromName:()

+ (FSPDFObject *) createFromName: (NSString *)  name

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

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

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

◆ createFromNameW:()

+ (FSPDFObject *) createFromNameW: (NSString *)  name

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

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

◆ createFromString:()

+ (FSPDFObject *) createFromString: (NSString *)  string_value

从字符串创建PDF对象。

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

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

◆ createFromStringWithLength:length:()

+ (FSPDFObject *) createFromStringWithLength: (NSString *)  string_value
length: (int)  length 

从字符串创建PDF对象。

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

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

◆ createReference:object_number:()

+ (FSPDFObject *) createReference: (FSPDFDoc*)  document
object_number: (unsigned int)  object_number 

为间接对象创建引用。

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

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

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

◆ deepCloneObject()

- (FSPDFObject *) deepCloneObject

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

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

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

◆ destroy()

- (void) destroy

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

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

返回
无。

◆ getArray()

- (FSPDFArray *) getArray

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

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

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

◆ getBoolean()

- (BOOL) getBoolean

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

仅当当前PDF对象的类型为FSPDFObjectBoolean时有用。

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

◆ getDateTime()

- (FSDateTime *) getDateTime

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

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

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

◆ getDict()

- (FSPDFDictionary *) getDict

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

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

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

◆ getDirectObject()

- (FSPDFObject *) getDirectObject

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

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

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

◆ getFloat()

- (float) getFloat

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

仅当当前PDF对象的类型为FSPDFObjectNumber时有用。

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

◆ getInteger()

- (int) getInteger

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

仅当当前PDF对象的类型为FSPDFObjectNumber时有用。

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

◆ getMatrix()

- (FSMatrix2D *) getMatrix

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

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

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

◆ getName()

- (NSString *) getName

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

仅当当前PDF对象的类型为 FSPDFObjectNameFSPDFObjectString时有用。

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

◆ getObjNum()

- (unsigned int) getObjNum

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

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

◆ getRect()

- (FSRectF *) getRect

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

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

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

◆ getStream()

- (FSPDFStream *) getStream

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

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

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

◆ getString()

- (NSData *) getString

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

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

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

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

返回
一个字符串。

◆ getType()

- (FSPDFObjectType) getType

获取当前PDF对象的类型。

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

◆ getWideString()

- (NSString *) getWideString

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

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

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

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

返回
一个字符串。

◆ isIdentical:()

- (BOOL) isIdentical: (FSPDFObject*)  pdf_obj

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

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