Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit::pdf::FileSpec类 参考
类 foxit::pdf::FileSpec 继承关系图:

## Public 成员函数
| FileSpec (const FileSpec &other)
| 构造函数，使用另一个文件规范对象。 更多...
| FileSpec (const PDFDoc &document)
| 构造函数。 更多...
| FileSpec (const PDFDoc &document, objects::PDFObject *pdf_object)
| 构造函数，从PDF文档中的现有文件规范PDF对象构造。 更多...
| ~FileSpec ()
| 析构函数。
bool | Embed (const wchar_t *file_path)
| 嵌入由文件路径指定的文件的全部内容。 更多...
bool | Embed (foxit::common::file::StreamCallback *stream)
| 使用 foxit::common::file::StreamCallback 嵌入文件。 更多...
bool | Embed (foxit::pdf::objects::PDFObject *pdf_object)
| （仅在PDF 2.0中支持）当当前文件规范对象用作关联文件时， 嵌入PDF流对象或引用PDF流对象的PDF引用对象的全部内容。 更多...
bool | ExportToFile (const wchar_t *path) const
| 将当前文件规范中表示的文件数据直接导出到文件中。 更多...
bool | ExportToFileStream (foxit::common::file::StreamCallback *stream) const
| 通过流回调对象导出当前文件规范中表示的文件数据。 更多...
AssociatedFiles::Relationship | GetAssociteFileRelationship () const
| （仅在PDF 2.0中支持）当当前文件规范用作关联文件时，获取关联文件关系。 更多...
String | GetChecksum () const
| 获取嵌入文件的校验和。 更多...
int64 | GetCompressedEmbeddedFileSize () const
| 获取嵌入文件的压缩文件大小。 更多...
DateTime | GetCreationDateTime () const
| 获取关于嵌入文件创建时间的创建日期和时间。 更多...
String | GetDescription () const
| 获取与当前文件规范关联的描述性文本。 更多...
objects::PDFDictionary * | GetDict () const
| 获取当前文件规范的PDF字典。 更多...
common::file::ReaderCallback * | GetFileData () const
| 获取嵌入文件的文件数据。 更多...
WString | GetFileName () const
| 获取文件名。 更多...
int64 | GetFileSize () const
| 获取嵌入文件的大小（未压缩文件大小）。 更多...
DateTime | GetModifiedDateTime () const
| 获取关于嵌入文件最后修改时间的修改日期和时间。 更多...
String | GetSubtype () const
| （仅在PDF 2.0中支持）当当前文件规范用作关联文件时， 获取嵌入文件的"Subtype"键的MIME类型值。 更多...
bool | IsEmbedded () const
| 检查当前文件规范对象是否表示嵌入文件。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const FileSpec &other) const
| 不相等操作符。 更多...
FileSpec & | operator= (const FileSpec &other)
| 赋值操作符。 更多...
bool | operator== (const FileSpec &other) const
| 相等操作符。 更多...
void | SetAssociteFileRelationship (AssociatedFiles::Relationship associfile_relationship)
| （仅在PDF 2.0中支持）当当前文件规范用作关联文件时，设置关联文件关系。 更多...
void | SetChecksum (const String &checksum)
| 为嵌入文件设置校验和。（不影响本地文件） 更多...
void | SetCreationDateTime (const DateTime &date_time)
| 为嵌入文件设置创建日期和时间。（不影响本地文件） 更多...
void | SetDescription (const String &description)
| 设置与当前文件规范关联的描述性文本。 更多...
void | SetFileName (const wchar_t *file_name)
| 设置文件名。 更多...
void | SetModifiedDateTime (const DateTime &date_time)
| 为嵌入文件设置最后修改日期和时间。（不影响本地文件） 更多...
void | SetSubtype (const String &subtype="application/octet-stream")
| （仅在PDF 2.0中支持）当当前文件规范用作关联文件时， 为嵌入文件的"Subtype"键设置MIME类型值。（不影响本地文件） 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

PDF文件可以通过使用文件规范来引用另一个文件的内容。 文件规范可以简单地表示另一个文件的文件路径，或表示另一个文件的全部内容， 该内容被嵌入到当前PDF文件中。

## 构造及析构函数说明

## ◆ FileSpec() [1/3]

foxit::pdf::FileSpec::FileSpec | ( | const PDFDoc & | document | ) |
| explicit

构造函数。

此构造函数用于构造一个新的文件规范对象（不包含任何数据）。

参数

  [in] | document | 一个有效的PDF文档对象，新的文件规范对象将属于该文档。

## ◆ FileSpec() [2/3]

foxit::pdf::FileSpec::FileSpec | ( | const PDFDoc & | document,
|  | objects::PDFObject * | pdf_object
| ) |  |
| explicit

构造函数，从PDF文档中的现有文件规范PDF对象构造。

参数

  [in] | document | 一个有效的PDF文档对象，文件规范PDF对象属于该文档。
  [in] | pdf_object | 一个有效的PDF对象，表示PDF文档中的现有文件规范对象。 它应该是字典对象或PDF引用对象： 如果是PDF字典对象，它应该是文件规范字典。 如果是PDF引用对象，它应该引用文件规范字典。 此PDF对象可以从类型为 objects::PDFNameTree::e_EmbeddedFiles 的 objects::PDFNameTree 中检索。

## ◆ FileSpec() [3/3]

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

构造函数，使用另一个文件规范对象。

参数

  [in] | other | 另一个文件规范对象。

## 成员函数说明

## ◆ Embed() [1/3]

bool foxit::pdf::FileSpec::Embed | ( | const wchar_t * | file_path | ) |

嵌入由文件路径指定的文件的全部内容。

当此函数成功时，指定文件的全部内容将被嵌入到 当前文件规范所属的PDF文档中。

参数

  [in] | file_path | 现有本地文件的完整路径。

返回
  true表示成功，false表示失败。

## ◆ Embed() [2/3]

bool foxit::pdf::FileSpec::Embed | ( | foxit::common::file::StreamCallback * | stream | ) |

使用 foxit::common::file::StreamCallback 嵌入文件。

当此函数成功时，请保持输入的流回调对象有效， 直到PDF文件（当前文件规范所属的）被保存或关闭。

参数

  [in] | stream | 用户实现的 foxit::common::file::StreamCallback 对象， 用于读取文件内容。

返回
  true表示成功，false表示失败。

## ◆ Embed() [3/3]

bool foxit::pdf::FileSpec::Embed | ( | foxit::pdf::objects::PDFObject * | pdf_object | ) |

（仅在PDF 2.0中支持）当当前文件规范对象用作关联文件时， 嵌入PDF流对象或引用PDF流对象的PDF引用对象的全部内容。

当此函数成功时，指定PDF流对象的全部内容将被嵌入到 当前文件规范所属的PDF文档中。

参数

  [in] | pdf_object | 一个有效的PDF对象。它应该是PDF流对象或引用PDF流对象的PDF引用对象。

返回
  true表示成功，false表示失败。

## ◆ ExportToFile()

bool foxit::pdf::FileSpec::ExportToFile | ( | const wchar_t * | path | ) | const

将当前文件规范中表示的文件数据直接导出到文件中。

参数

  [in] | path | 将保存数据的文件的完整路径。

返回
  true表示成功，false表示失败。

## ◆ ExportToFileStream()

bool foxit::pdf::FileSpec::ExportToFileStream | ( | foxit::common::file::StreamCallback * | stream | ) | const

通过流回调对象导出当前文件规范中表示的文件数据。

参数

  [in] | stream | 用户实现的 foxit::common::file::StreamCallback 对象，用于保存文件数据。

返回
  true表示成功，false表示失败。

## ◆ GetAssociteFileRelationship()

AssociatedFiles::Relationship foxit::pdf::FileSpec::GetAssociteFileRelationship | ( |  | ) | const

（仅在PDF 2.0中支持）当当前文件规范用作关联文件时，获取关联文件关系。

返回
  关联文件关系。请参考从 AssociatedFiles::e_RelationshipSource 开始的值，这应该是这些值中的一个。

## ◆ GetChecksum()

String foxit::pdf::FileSpec::GetChecksum | ( |  | ) | const

获取嵌入文件的校验和。

此函数仅在当前文件规范对象表示嵌入文件时有用。 16字节字符串，是未压缩嵌入文件字节的校验和。 校验和通过对嵌入文件流的字节应用标准MD5消息摘要算法来计算。
如果当前文件规范对象不表示嵌入文件，此函数将返回空字符串。

返回
  校验和字符串。

## ◆ GetCompressedEmbeddedFileSize()

int64 foxit::pdf::FileSpec::GetCompressedEmbeddedFileSize | ( |  | ) | const

获取嵌入文件的压缩文件大小。

此函数仅在当前文件规范对象表示嵌入文件时有用。 如果当前文件规范对象不表示嵌入文件，此函数将直接返回0。

返回
  嵌入文件的压缩文件大小。

## ◆ GetCreationDateTime()

DateTime foxit::pdf::FileSpec::GetCreationDateTime | ( |  | ) | const

获取关于嵌入文件创建时间的创建日期和时间。

此函数仅在当前文件规范对象表示嵌入文件时有用。 如果当前文件规范对象不表示嵌入文件，此函数将 返回一个所有值都为0的日期和时间对象。

返回
  嵌入文件的创建日期时间。

## ◆ GetDescription()

String foxit::pdf::FileSpec::GetDescription | ( |  | ) | const

获取与当前文件规范关联的描述性文本。

返回
  描述性文本。

## ◆ GetDict()

objects::PDFDictionary* foxit::pdf::FileSpec::GetDict | ( |  | ) | const

获取当前文件规范的PDF字典。

返回
  PDF字典对象。如果有任何错误，此函数将返回NULL。

## ◆ GetFileData()

common::file::ReaderCallback* foxit::pdf::FileSpec::GetFileData | ( |  | ) | const

获取嵌入文件的文件数据。

返回
  一个 common::file::ReaderCallback 对象。用户可以调用 common::file::ReaderCallback 类中的函数来读取文件数据。

## ◆ GetFileName()

WString foxit::pdf::FileSpec::GetFileName | ( |  | ) | const

获取文件名。

返回
  文件名。如果找不到文件名，此函数将返回空字符串。

## ◆ GetFileSize()

int64 foxit::pdf::FileSpec::GetFileSize | ( |  | ) | const

获取嵌入文件的大小（未压缩文件大小）。

此函数仅在当前文件规范对象表示嵌入文件时有用。 如果当前文件规范对象不表示嵌入文件，此函数将直接返回0。

返回
  嵌入文件的文件大小（未压缩文件大小）。

## ◆ GetModifiedDateTime()

DateTime foxit::pdf::FileSpec::GetModifiedDateTime | ( |  | ) | const

获取关于嵌入文件最后修改时间的修改日期和时间。

此函数仅在当前文件规范对象表示嵌入文件时有用。 如果当前文件规范对象不表示嵌入文件，此函数将 返回一个所有值都为0的日期和时间对象。

返回
  嵌入文件的修改日期时间。

## ◆ GetSubtype()

String foxit::pdf::FileSpec::GetSubtype | ( |  | ) | const

（仅在PDF 2.0中支持）当当前文件规范用作关联文件时， 获取嵌入文件的"Subtype"键的MIME类型值。

此函数仅在当前文件规范对象表示嵌入文件且用作关联文件时有用。

返回
  子类型字符串。

## ◆ IsEmbedded()

bool foxit::pdf::FileSpec::IsEmbedded | ( |  | ) | const

检查当前文件规范对象是否表示嵌入文件。

返回
  true表示当前文件规范对象表示嵌入文件。 false表示当前文件规范对象不表示嵌入文件。

## ◆ IsEmpty()

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

检查当前对象是否为空。

当当前对象为空时，意味着当前对象是无用的。

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

## ◆ operator!=()

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

不相等操作符。

参数

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

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

## ◆ operator=()

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

赋值操作符。

参数

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

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

## ◆ operator==()

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

相等操作符。

参数

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

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

## ◆ SetAssociteFileRelationship()

void foxit::pdf::FileSpec::SetAssociteFileRelationship | ( | AssociatedFiles::Relationship | associfile_relationship | ) |

（仅在PDF 2.0中支持）当当前文件规范用作关联文件时，设置关联文件关系。

对于新创建的关联文件规范对象，此函数是必需的。

参数

  [in] | associfile_relationship | 要设置的关联文件关系。请参考从 AssociatedFiles::e_RelationshipSource 开始的值， 这将是这些值中的一个。

返回
  无。

## ◆ SetChecksum()

void foxit::pdf::FileSpec::SetChecksum | ( | const String & | checksum | ) |

为嵌入文件设置校验和。（不影响本地文件）

此函数仅在当前文件规范对象表示嵌入文件时有用。
16字节字符串，是未压缩嵌入文件字节的校验和。 校验和通过对嵌入文件流的字节应用标准MD5消息摘要算法来计算。

参数

  [in] | checksum | 要设置的校验和。

返回
  无。

## ◆ SetCreationDateTime()

void foxit::pdf::FileSpec::SetCreationDateTime | ( | const DateTime & | date_time | ) |

为嵌入文件设置创建日期和时间。（不影响本地文件）

此函数仅在当前文件规范对象表示嵌入文件时有用。

参数

  [in] | date_time | 要设置的创建日期和时间。

返回
  无。

## ◆ SetDescription()

void foxit::pdf::FileSpec::SetDescription | ( | const String & | description | ) |

设置与当前文件规范关联的描述性文本。

参数

  [in] | description | 要设置的描述性文本。不应该是空字符串。

返回
  无。

## ◆ SetFileName()

void foxit::pdf::FileSpec::SetFileName | ( | const wchar_t * | file_name | ) |

设置文件名。

对于新的文件规范对象（不是从现有文件规范PDF对象构造的），此函数是必需的。

参数

  [in] | file_name | 要设置的文件名。不应该是空字符串。

返回
  无。

## ◆ SetModifiedDateTime()

void foxit::pdf::FileSpec::SetModifiedDateTime | ( | const DateTime & | date_time | ) |

为嵌入文件设置最后修改日期和时间。（不影响本地文件）

此函数仅在当前文件规范对象表示嵌入文件时有用。

参数

  [in] | date_time | 要设置的最后修改日期和时间。

返回
  无。

## ◆ SetSubtype()

void foxit::pdf::FileSpec::SetSubtype | ( | const String & | subtype = `"application/octet-stream"` | ) |

（仅在PDF 2.0中支持）当当前文件规范用作关联文件时， 为嵌入文件的"Subtype"键设置MIME类型值。（不影响本地文件）

此函数仅在当前文件规范对象表示嵌入文件且用作关联文件时有用。

参数

  [in] | subtype | 有效的MIME类型值。默认值："application/octet-stream"。

返回
  无。