Foxit PDF SDK
foxit::pdf::FileSpec类 参考
类 foxit::pdf::FileSpec 继承关系图:
foxit::Base

Public 成员函数

 FileSpec (const PDFDoc &document)
 构造函数。 更多...
 
 FileSpec (const PDFDoc &document, objects::PDFObject *pdf_object)
 构造函数,从PDF文档中的现有文件规范PDF对象构造。 更多...
 
 FileSpec (const FileSpec &other)
 构造函数,使用另一个文件规范对象。 更多...
 
 ~FileSpec ()
 析构函数。
 
bool Embed (const wchar_t *file_path)
 嵌入由文件路径指定的文件的全部内容。 更多...
 
bool Embed (foxit::pdf::objects::PDFObject *pdf_object)
 (仅在PDF 2.0中支持)当当前文件规范对象用作关联文件时, 嵌入PDF流对象或引用PDF流对象的PDF引用对象的全部内容。 更多...
 
bool Embed (foxit::common::file::StreamCallback *stream)
 使用 foxit::common::file::StreamCallback 嵌入文件。 更多...
 
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::PDFDictionaryGetDict () const
 获取当前文件规范的PDF字典。 更多...
 
common::file::ReaderCallbackGetFileData () 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
 不相等操作符。 更多...
 
FileSpecoperator= (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_EmbeddedFilesobjects::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::pdf::objects::PDFObject pdf_object)

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

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

参数
[in]pdf_object一个有效的PDF对象。它应该是PDF流对象或引用PDF流对象的PDF引用对象。
返回
true表示成功,false表示失败。

◆ Embed() [3/3]

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

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

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

参数
[in]stream用户实现的 foxit::common::file::StreamCallback 对象, 用于读取文件内容。
返回
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"。
返回
无。