Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::pdf::AssociatedFiles类 参考

在PDF 2.0中，定义了一个名为"关联文件"的新概念。关联文件提供了一种方法来 将其他格式的内容与PDF文件的对象关联，并识别内容与对象之间的关系。 此类关联文件使用文件规范字典（称为文件规范）指定。关联文件可以链接到PDF文档的目录、 页面字典、图形对象、结构元素、XObject、DParts、注释字典等。 特别地，与图形对象的关联文件意味着与标记内容项关联。
类 AssociatedFiles 是管理关联文件的类。它提供了计算/获取PDF字典或图形对象中 关联文件的功能，将文件（由 FileSpec 表示）与目录、PDF页面、图形对象、 表单XObject对象、注释对象等关联的功能。
特别地，当使用PDF文档构造关联文件对象时，相关PDF文档的文件版本将被设置为2.0。 更多...

类 foxit::pdf::AssociatedFiles 继承关系图:

## Public 类型
enum | Relationship { e_RelationshipUnspecified = 0, e_RelationshipSource = 1, e_RelationshipData = 2, e_RelationshipAlternative = 3, e_RelationshipSupplement = 4, e_RelationshipEncryptedPayload = 5, e_RelationshipFormData = 6, e_RelationshipSchema = 7 }
| PDF文档与关联文件之间关系的枚举。 更多...

## Public 成员函数
| AssociatedFiles (const AssociatedFiles &other)
| 构造函数，通过另一个关联文件对象。 更多...
| AssociatedFiles (const PDFDoc &pdf_doc)
| 构造函数，使用PDF文档。 更多...
| ~AssociatedFiles ()
| 析构函数。
void | AssociateFile (const foxit::pdf::annots::Annot &annot, const foxit::pdf::FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与PDF注释关联。 更多...
void | AssociateFile (const foxit::pdf::PDFPage &page, const foxit::pdf::FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与PDF页面关联。 更多...
void | AssociateFile (foxit::pdf::graphics::FormXObject *form_xobject, const foxit::pdf::FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与表单XObject图形对象关联。 更多...
void | AssociateFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int mark_content_item_index, foxit::pdf::objects::PDFObject *current_resource, const char *property_name, const foxit::pdf::FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与指定图形对象的标记内容项关联。 更多...
void | AssociateFile (foxit::pdf::graphics::ImageObject *image, const foxit::pdf::FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与图像图形对象关联。 更多...
void | AssociateFile (objects::PDFObject *pdf_object, const FileSpec &file_spec)
| 将文件（由 FileSpec 表示）与PDF字典对象关联，该字典对象代表注释、PDF页面或PDF文档中其他对象的字典。 更多...
FileSpec | GetAssociatedFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int index)
| 通过索引获取图形对象中的关联文件。 更多...
FileSpec | GetAssociatedFile (objects::PDFObject *pdf_object, int index)
| 通过索引获取指定PDF字典对象中的关联文件（由 FileSpec 表示）。 更多...
int | GetAssociatedFilesCount (foxit::pdf::graphics::GraphicsObject *graphics_object)
| 获取图形对象中关联文件的数量。 更多...
int | GetAssociatedFilesCount (objects::PDFObject *pdf_object)
| 获取PDF字典对象中关联文件的数量，该字典对象代表注释、PDF页面或PDF文档中其他对象的字典。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const AssociatedFiles &other) const
| 不等操作符。 更多...
AssociatedFiles & | operator= (const AssociatedFiles &other)
| 赋值操作符。 更多...
bool | operator== (const AssociatedFiles &other) const
| 相等操作符。 更多...
void | RemoveAssociatedFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int index)
| 通过索引移除图形对象中的关联文件。 更多...
void | RemoveAssociatedFile (objects::PDFObject *pdf_object, int index)
| 通过索引移除指定PDF字典对象中的关联文件（由 FileSpec 表示）。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

在PDF 2.0中，定义了一个名为"关联文件"的新概念。关联文件提供了一种方法来 将其他格式的内容与PDF文件的对象关联，并识别内容与对象之间的关系。 此类关联文件使用文件规范字典（称为文件规范）指定。关联文件可以链接到PDF文档的目录、 页面字典、图形对象、结构元素、XObject、DParts、注释字典等。 特别地，与图形对象的关联文件意味着与标记内容项关联。
类 AssociatedFiles 是管理关联文件的类。它提供了计算/获取PDF字典或图形对象中 关联文件的功能，将文件（由 FileSpec 表示）与目录、PDF页面、图形对象、 表单XObject对象、注释对象等关联的功能。
特别地，当使用PDF文档构造关联文件对象时，相关PDF文档的文件版本将被设置为2.0。

## 成员枚举类型说明

## ◆ Relationship

enum foxit::pdf::AssociatedFiles::Relationship

PDF文档与关联文件之间关系的枚举。

此枚举的值应单独使用。

枚举值
e_RelationshipUnspecified | 关系未知或无法用其他值描述。
e_RelationshipSource | 关系是"源"，表示文件规范是关联内容的原始源材料。
e_RelationshipData | 关系是"数据"，表示文件规范代表用于派生视觉呈现的信息 - 例如表格或图形。
e_RelationshipAlternative | 关系是"替代"，表示文件规范是内容的替代表示，例如音频。
e_RelationshipSupplement | 关系是"补充"，表示文件规范代表原始源或数据的补充表示，可能更容易使用。
e_RelationshipEncryptedPayload | 关系是"加密负载"，表示文件规范是加密负载文档， 如果PDF处理器有解密文档所需的加密过滤器，则应向用户显示。
e_RelationshipFormData | 关系是"表单数据"，表示文件规范是与PDF文件中"AcroForm"字典关联的数据。
e_RelationshipSchema | 关系是"模式"，表示文件规范是关联对象的模式定义。

## 构造及析构函数说明

## ◆ AssociatedFiles() [1/2]

foxit::pdf::AssociatedFiles::AssociatedFiles | ( | const AssociatedFiles & | other | ) |

构造函数，通过另一个关联文件对象。

参数

  [in] | other | 另一个关联文件对象。

## ◆ AssociatedFiles() [2/2]

foxit::pdf::AssociatedFiles::AssociatedFiles | ( | const PDFDoc & | pdf_doc | ) |
| explicit

构造函数，使用PDF文档。

当通过此构造函数构造关联文件对象时，输入PDF文档的文件版本将被设置为2.0。

参数

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

## 成员函数说明

## ◆ AssociateFile() [1/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | const foxit::pdf::annots::Annot & | annot,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与PDF注释关联。

实际上，此函数等于将文件与PDF注释的PDF字典关联。

参数

  [in] | annot | 有效的PDF注释。
  [in] | file_spec | 要与指定PDF注释对象关联的文件规范对象。 它不应该是空字符串。

返回
  无。

## ◆ AssociateFile() [2/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | const foxit::pdf::PDFPage & | page,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与PDF页面关联。

实际上，此函数等于将文件与PDF页面字典关联。

参数

  [in] | page | 有效的PDF页面。
  [in] | file_spec | 要与指定PDF页面关联的文件规范对象。 它不应该是空字符串。

返回
  无。

## ◆ AssociateFile() [3/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::FormXObject * | form_xobject,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与表单XObject图形对象关联。

实际上，此函数等于将文件与表单XObject图形对象的PDF字典关联。

参数

  [in] | form_xobject | 表单XObject图形对象。它不应该是 NULL。
  [in] | file_spec | 要与指定表单XObject图形对象关联的文件规范对象。 它不应该是空字符串。

返回
  无。

## ◆ AssociateFile() [4/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | mark_content_item_index,
|  | foxit::pdf::objects::PDFObject * | current_resource,
|  | const char * | property_name,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与指定图形对象的标记内容项关联。

参数

  [in] | graphics_object | 有效的图形对象。
  [in] | mark_content_item_index | 输入图形对象中标记内容项的索引，指定的文件规范对象将与之关联。有效范围： 从0到（count-1）。count 由函数 graphics::MarkedContent::GetItemCount 返回， 该函数用于与输入图形对象相关的标记内容。
  [in] | current_resource | 与输入图形对象相关的PDF页面的资源字典。这也可以是引用此类PDF字典的PDF引用对象。
  [in] | property_name | 在输入资源字典的"Properties"字典中使用的属性名称。它不应该是空字符串。
  [in] | file_spec | 要与指定图形对象的指定标记内容项关联的文件规范对象。它不应该是空字符串。

返回
  无。

注解
  当此函数成功时，应调用函数 GraphicsObjects::GenerateContent。 请参考函数 GraphicsObjects::GenerateContent 了解更多详情。

## ◆ AssociateFile() [5/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::ImageObject * | image,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与图像图形对象关联。

实际上，此函数等于将文件与图像图形对象的PDF字典关联。

参数

  [in] | image | 图像图形对象。它不应该是 NULL。
  [in] | file_spec | 要与指定图像图形对象关联的文件规范对象。 它不应该是空字符串。

返回
  无。

## ◆ AssociateFile() [6/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | objects::PDFObject * | pdf_object,
|  | const FileSpec & | file_spec
| ) |  |

将文件（由 FileSpec 表示）与PDF字典对象关联，该字典对象代表注释、PDF页面或PDF文档中其他对象的字典。

参数

  [in] | pdf_object | 有效的PDF对象。它应该是PDF字典对象或引用PDF字典对象的PDF引用对象。
  [in] | file_spec | 要与指定PDF字典关联的文件规范对象。它不应该是空字符串。

返回
  无。

## ◆ GetAssociatedFile() [1/2]

FileSpec foxit::pdf::AssociatedFiles::GetAssociatedFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | index
| ) |  |

通过索引获取图形对象中的关联文件。

一个或多个文件可能通过将内容流中的这些部分包围在标记内容之间来与内容流中的内容部分关联。 因此，实际上，此函数是获取与图形对象相关的标记内容中的关联文件（由索引指定）。

参数

  [in] | graphics_object | 有效的PDF图形对象。
  [in] | index | 指定PDF图形对象中关联文件的索引。 有效范围：从0到（count-1）。count 由函数 AssociatedFiles::GetAssociatedFilesCount 返回， 使用相同的参数 graphics_object。

返回
  代表预期关联文件的文件规范对象。

## ◆ GetAssociatedFile() [2/2]

FileSpec foxit::pdf::AssociatedFiles::GetAssociatedFile | ( | objects::PDFObject * | pdf_object,
|  | int | index
| ) |  |

通过索引获取指定PDF字典对象中的关联文件（由 FileSpec 表示）。

参数

  [in] | pdf_object | 有效的PDF对象。它应该是PDF字典对象或引用PDF字典对象的PDF引用对象。
  [in] | index | 指定PDF字典对象中关联文件的索引。 有效范围：从0到（count-1）。count 由函数 AssociatedFiles::GetAssociatedFilesCount 返回，使用相同的参数 object。

返回
  代表预期关联文件的文件规范对象。

## ◆ GetAssociatedFilesCount() [1/2]

int foxit::pdf::AssociatedFiles::GetAssociatedFilesCount | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object | ) |

获取图形对象中关联文件的数量。

一个或多个文件可能通过将内容流中的这些部分包围在标记内容之间来与内容流中的内容部分关联。 因此，实际上，此函数是计算与图形对象相关的标记内容中的关联文件。

参数

  [in] | graphics_object | 有效的PDF图形对象。

返回
  关联文件的数量。

## ◆ GetAssociatedFilesCount() [2/2]

int foxit::pdf::AssociatedFiles::GetAssociatedFilesCount | ( | objects::PDFObject * | pdf_object | ) |

获取PDF字典对象中关联文件的数量，该字典对象代表注释、PDF页面或PDF文档中其他对象的字典。

参数

  [in] | pdf_object | 有效的PDF对象。它应该是PDF字典对象或引用PDF字典对象的PDF引用对象。

返回
  关联文件的数量。

## ◆ IsEmpty()

bool foxit::pdf::AssociatedFiles::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

当前对象为空时，表示当前对象是无用的。

返回
  true 表示当前对象为空，false 表示不为空。

## ◆ operator!=()

bool foxit::pdf::AssociatedFiles::operator!= | ( | const AssociatedFiles & | other | ) | const

不等操作符。

参数

  [in] | other | 另一个关联文件对象。此函数将检查当前对象是否不等于这个对象。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

AssociatedFiles& foxit::pdf::AssociatedFiles::operator= | ( | const AssociatedFiles & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个关联文件对象，其值将被赋给当前对象。

返回
  当前对象自身的引用。

## ◆ operator==()

bool foxit::pdf::AssociatedFiles::operator== | ( | const AssociatedFiles & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个关联文件对象。此函数将检查当前对象是否等于这个对象。

返回
  true 表示相等，false 表示不相等。

## ◆ RemoveAssociatedFile() [1/2]

void foxit::pdf::AssociatedFiles::RemoveAssociatedFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | index
| ) |  |

通过索引移除图形对象中的关联文件。

一个或多个文件可以通过在标记内容之间包围内容流的某些部分来与这些部分关联。 因此，实际上，此函数用于移除与图形对象相关的标记内容中的关联文件。

参数

  [in] | graphics_object | 有效的PDF图形对象。
  [in] | index | 指定PDF图形对象中关联文件的索引。 有效范围：从0到（count-1）。count 由函数 AssociatedFiles::GetAssociatedFilesCount 使用 相同的参数 graphics_object 返回。

返回
  无。

## ◆ RemoveAssociatedFile() [2/2]

void foxit::pdf::AssociatedFiles::RemoveAssociatedFile | ( | objects::PDFObject * | pdf_object,
|  | int | index
| ) |  |

通过索引移除指定PDF字典对象中的关联文件（由 FileSpec 表示）。

参数

  [in] | pdf_object | 有效的PDF对象。它应该是PDF字典对象或引用PDF字典对象的PDF引用对象。
  [in] | index | 指定PDF字典对象中关联文件的索引。 有效范围：从0到（count-1）。count 由函数 AssociatedFiles::GetAssociatedFilesCount 使用相同的参数 object 返回。

返回
  无。