Foxit PDF SDK

构造函数 | 类方法 | 所有成员列表
FSPDFObject类 参考
类 FSPDFObject 继承关系图:

## 构造函数
(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对象，请参考 派生类FSPDFArray、FSPDFDictionary和FSPDFStream 。
如果用户想要将新创建的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

为间接对象创建引用。

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

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

如果创建的对象尚未添加/设置到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对象的类型为 FSPDFObjectName或FSPDFObjectString时有用。

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

## ◆ 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对象不相同。