Foxit PDF SDK

构造函数 | 属性 | 所有成员列表
FSMetadata类 参考
类 FSMetadata 继承关系图:

## 构造函数
(NSArray< NSString * > *) | - getCustomerKeys
| 从元数据获取客户键。 更多...
(NSArray< NSString * > *) | - getValues:
| 获取元数据值（多个）。 更多...
(BOOL) | - hasKey:
| 检查相关PDF文档是否具有指定的元数据键。 更多...
(id) | - initWithDocument:
| 构造函数，从PDF文档对象构造。 更多...
(id) | - initWithOther:
| 构造函数，使用另一个元数据对象构造。 更多...
(BOOL) | - isEmpty
| 检查当前对象是否为空。 更多...
(void) | - removeCustomerKey:
| 删除指定的客户键（连同相关值）。 更多...
(BOOL) | - setValues:value_array:
| 设置元数据值（多个）。 更多...

## 属性
FSDateTime * | creationDateTime
| 获取创建日期时间。
FSDateTime * | modifiedDateTime
| 获取修改日期时间。

## 详细描述

在PDF文档中，元数据信息存储在文档的Info字典或元数据流中（以可扩展标记语言XML表示）。 当同一个键同时存在于Info字典和元数据流中时，将使用最后修改的那个。
此类从PDF文档对象构造，用于从文档的Info字典和元数据流中获取或设置元数据信息。

## 函数文档

## ◆ getCustomerKeys()

- (NSArray< NSString * > *) getCustomerKeys |  |  |

从元数据获取客户键。

在Info字典和元数据流中，它们有一些标准键，这些键具有相同的功能 但名称不同。对于这种情况，Foxit PDF SDK将使用Info字典中的标准键名。 除了这些标准键之外，其他键将被视为客户键。

返回
  客户键的字符串数组。

## ◆ getValues:()

- (NSArray< NSString * > *) getValues: |  | (NSString *) | key |

获取元数据值（多个）。

对于一个元数据键，它可能包含单个或多个值。

参数

  [in] | key | 元数据键字符串。它不应该是空字符串。 目前它可以是以下键之一： "Title", "Author", "Subject", "Keywords", "Creator", "Producer", "Trapped", "CreationDate", "ModDate", "pdfaid", "InstanceID", "DocumentID"。 如果PDF文件支持，它也可以是其他自定义信息键。 对于"CreationDate"和"ModDate"，建议用户使用函数 FSMetadata::creationDateTime 和 FSMetadata::modifiedDateTime 来 获取日期信息。

返回
  元数据值的字符串数组。

## ◆ hasKey:()

- (BOOL) hasKey: |  | (NSString *) | key |

检查相关PDF文档是否具有指定的元数据键。

参数

  [in] | key | 要检查的元数据键。

返回
  YES 表示相关PDF文档具有指定的元数据键， NO 表示相关PDF文档不具有指定的元数据键。

## ◆ initWithDocument:()

- (id) initWithDocument: |  | (FSPDFDoc*) | document |

构造函数，从PDF文档对象构造。

如果指定的PDF文档中存在元数据信息， 此函数只是构造一个与这些信息关联的元数据对象。 如果指定的PDF文档中不存在此类信息，构造的元数据对象 可用于为PDF文档设置元数据信息。

参数

  [in] | document | 有效的PDF文档对象。

## ◆ initWithOther:()

- (id) initWithOther: |  | (FSMetadata*) | other |

构造函数，使用另一个元数据对象构造。

参数

  [in] | other | 另一个元数据对象。

## ◆ isEmpty()

- (BOOL) isEmpty |  |  |

检查当前对象是否为空。

当当前对象为空时，意味着当前对象无效。

返回
  YES 表示当前对象为空，NO 表示不为空。

## ◆ removeCustomerKey:()

- (void) removeCustomerKey: |  | (NSString *) | key |

删除指定的客户键（连同相关值）。

参数

  [in] | key | 客户键字符串。它不应该是空字符串。 这应该是从函数 FSMetadata::getCustomerKeys 检索到的键之一。

返回
  无。

## ◆ setValues:value_array:()

- (BOOL) setValues: |  | (NSString *) | key
value_array: |  | (NSArray<NSString *> *) | value_array

设置元数据值（多个）。

此函数用于为指定的元数据键设置单个或多个值：

- 对于元数据键"Author"和"Keywords"，它们可以包含单个或多个值。
- 对于元数据键"pdfaid"，它表示PDFA文件版本，其值字符串的长度 总是2，例如"2a"、"1a"等。因此，只会使用参数valueArray中 第一个元素的前两个字符。
- 对于其余预定义的键，它们不支持多个值。因此参数value_array中的 所有元素将被放入一个字符串中，并用";"连接。 然后此字符串将被视为单个值。

参数

  [in] | key | 元数据键字符串。它不应该是空字符串。 目前它可以是以下键之一： "Title", "Author", "Subject", "Keywords", "Creator", "Producer", "Trapped", "CreationDate", "ModDate", "pdfaid", "InstanceID", "DocumentID"。 如果PDF文件支持，它也可以是其他自定义信息键。 对于"CreationDate"和"ModDate"，建议用户使用 FSMetadata::creationDateTime 和 FSMetadata::modifiedDateTime 来设置日期信息。
  [in] | value_array | 元数据值的字符串数组。

返回
  无。