My Project
foxit::pdf::FileSpec Class Reference
Inheritance diagram for foxit::pdf::FileSpec:
foxit::Base

Public Member Functions

 FileSpec (const PDFDoc &document)
 Constructor. More...
 
 FileSpec (const PDFDoc &document, objects::PDFObject *pdf_object)
 Constructor, from an existing file specification PDF object in a PDF document. More...
 
 FileSpec (const FileSpec &other)
 Constructor, with another file specification object. More...
 
 ~FileSpec ()
 Destructor.
 
bool Embed (const wchar_t *file_path)
 Embed the whole content of a file which is specified by file path. More...
 
bool Embed (foxit::pdf::objects::PDFObject *pdf_object)
 (Only support in PDF 2.0) Embed the whole content of a PDF stream object or a PDF reference object which refers to a PDF stream object, when current file specification object is used as an associated file. More...
 
bool ExportToFile (const wchar_t *path) const
 Export the file data that represented in current file specification directly into a file. More...
 
AssociatedFiles::Relationship GetAssociteFileRelationship () const
 (Only supported in PDF 2.0) Get the associated file relationship when current file specification is used as an associated file. More...
 
String GetChecksum () const
 Get the checksum for embedded file. More...
 
DateTime GetCreationDateTime () const
 Get creation date and time about when the embedded file was created. More...
 
String GetDescription () const
 Get the descriptive text associated with current file specification. More...
 
objects::PDFDictionaryGetDict () const
 Get the PDF dictionary of current file specification. More...
 
common::file::ReaderCallbackGetFileData () const
 Get the file data of embedded file. More...
 
WString GetFileName () const
 Get the file name. More...
 
int64 GetFileSize () const
 Get the size of embedded file. More...
 
DateTime GetModifiedDateTime () const
 Get modified date and time about when the embedded file was last modified. More...
 
String GetSubtype () const
 (Only support in PDF 2.0) Get the MIME type value for "Subtype" key for embedded file when current file specification is used as an associated file. More...
 
bool IsEmbedded () const
 Check whether current file specification object represents an embedded file or not. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool operator != (const FileSpec &other) const
 Not equal operator. More...
 
FileSpecoperator= (const FileSpec &other)
 Assign operator. More...
 
bool operator== (const FileSpec &other) const
 Equal operator. More...
 
void SetAssociteFileRelationship (AssociatedFiles::Relationship associfile_relationship)
 (Only supported in PDF 2.0) Set the associated file relationship when current file specification is used as an associated file. More...
 
void SetChecksum (const String &checksum)
 Set the checksum for embedded file. (Not affect local file) More...
 
void SetCreationDateTime (const DateTime &date_time)
 Set the creation date and time for the embedded file. (Not affect local file) More...
 
void SetDescription (const String &description)
 Set the descriptive text associated with current file specification. More...
 
void SetFileName (const wchar_t *file_name)
 Set the file name. More...
 
void SetModifiedDateTime (const DateTime &date_time)
 Set last modified date and time for the embedded file. (Not affect local file) More...
 
void SetSubtype (const String &subtype="application/octet-stream")
 (Only support in PDF 2.0) Set the MIME type value for "Subtype" key for embedded file (Not affect local file) when current file specification is used as an associated file. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Detailed Description

A PDF file can refer to the contents of another file by using a file specification. File specification can simply represents the file path of another file, or represents the whole content of another file, which is embedded to current PDF file.

Constructor & Destructor Documentation

◆ FileSpec() [1/3]

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

Constructor.

This constructor is to construct a new file specification object (without any data).

Parameters
[in]documentA valid PDF document object, to which the new file specification object will belongs.

◆ FileSpec() [2/3]

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

Constructor, from an existing file specification PDF object in a PDF document.

Parameters
[in]documentA valid PDF document object, to which the file specification PDF object belongs.
[in]pdf_objectA valid PDF object which represents an existing file specification object in the PDF document. It should be either a dictionary object or a PDF reference object:
  • If it is a PDF dictionary object, it should be a file specification dictionary.
  • If it is a PDF reference object, it should refer to a file specification dictionary.
This PDF object can be retrieved from objects::PDFNameTree in type objects::PDFNameTree::e_EmbeddedFiles.

◆ FileSpec() [3/3]

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

Constructor, with another file specification object.

Parameters
[in]otherAnother file specification object.

Member Function Documentation

◆ Embed() [1/2]

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

Embed the whole content of a file which is specified by file path.

When this function succeeds, the whole content of specified file will be embedded to the PDF document that current file specification belongs to.

Parameters
[in]file_pathA full path of an existing local file.
Returns
true means success, while false means failure.

◆ Embed() [2/2]

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

(Only support in PDF 2.0) Embed the whole content of a PDF stream object or a PDF reference object which refers to a PDF stream object, when current file specification object is used as an associated file.

When this function succeeds, the whole content of specified PDF stream object will be embedded to the PDF document that current file specification belongs to.

Parameters
[in]pdf_objectA valid PDF object. It should be either a PDF stream object or a PDF reference object which refers to a PDF stream object.
Returns
true means success, while false means failure.

◆ ExportToFile()

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

Export the file data that represented in current file specification directly into a file.

Parameters
[in]pathA full path of a file to which the data will be saved.
Returns
true means success, while false means failure.

◆ GetAssociteFileRelationship()

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

(Only supported in PDF 2.0) Get the associated file relationship when current file specification is used as an associated file.

Returns
The associated file relationship. Please refer to values starting from AssociatedFiles::e_RelationshipSource and this should be one of these values.

◆ GetChecksum()

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

Get the checksum for embedded file.

This function is only useful when current file specification object represents an embedded file. A 16-byte string that is the checksum of the bytes of the uncompressed embedded file. The checksum is calculated by applying the standard MD5 message-digest algorithm to the bytes of the embedded file stream.
If current file specification object does not represent an embedded file, this function will return an empty string.

Returns
The checksum string.

◆ GetCreationDateTime()

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

Get creation date and time about when the embedded file was created.

This function is only useful when current file specification object represents an embedded file. If current file specification object does not represent an embedded file, this function will return a date and time object will all value 0.

Returns
The creation date time of embedded file.

◆ GetDescription()

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

Get the descriptive text associated with current file specification.

Returns
The descriptive text.

◆ GetDict()

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

Get the PDF dictionary of current file specification.

Returns
A PDF dictionary object.

◆ GetFileData()

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

Get the file data of embedded file.

Returns
A common::file::ReaderCallback object. User can call functions in class common::file::ReaderCallback to read the file data.

◆ GetFileName()

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

Get the file name.

Returns
The file name. If no file name can be found, this function will return an empty string.

◆ GetFileSize()

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

Get the size of embedded file.

This function is only useful when current file specification object represents an embedded file. If current file specification object does not represent an embedded file, this function will return 0 directly.

Returns
File size of embedded file.

◆ GetModifiedDateTime()

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

Get modified date and time about when the embedded file was last modified.

This function is only useful when current file specification object represents an embedded file. If current file specification object does not represent an embedded file, this function will return a date and time object will all value 0.

Returns
The modified date time of embedded file.

◆ GetSubtype()

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

(Only support in PDF 2.0) Get the MIME type value for "Subtype" key for embedded file when current file specification is used as an associated file.

This function is only useful when current file specification object represents an embedded file and used as associated file.

Returns
The subtype string.

◆ IsEmbedded()

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

Check whether current file specification object represents an embedded file or not.

Returns
true means current file specification object represent an embedded file. false means current file specification object does not represent an embedded file.

◆ IsEmpty()

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

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ operator !=()

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

Not equal operator.

Parameters
[in]otherAnother file specification object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

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

Assign operator.

Parameters
[in]otherAnother file specification object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

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

Equal operator.

Parameters
[in]otherAnother file specification object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

◆ SetAssociteFileRelationship()

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

(Only supported in PDF 2.0) Set the associated file relationship when current file specification is used as an associated file.

This function is required for a newly created associated file specification object.

Parameters
[in]associfile_relationshipThe associated file relationship to be set. Please refer to values starting from AssociatedFiles::e_RelationshipSource and this would be one of these values.
Returns
None.

◆ SetChecksum()

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

Set the checksum for embedded file. (Not affect local file)

This function is only useful if current file specification object represents an embedded file.
A 16-byte string that is the checksum of the bytes of the uncompressed embedded file. The checksum is calculated by applying the standard MD5 message-digest algorithm to the bytes of the embedded file stream.

Parameters
[in]checksumA checksum to be set.
Returns
None.

◆ SetCreationDateTime()

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

Set the creation date and time for the embedded file. (Not affect local file)

This function is only useful when current file specification object represents an embedded file.

Parameters
[in]date_timeThe creation date and time to be set.
Returns
None.

◆ SetDescription()

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

Set the descriptive text associated with current file specification.

Parameters
[in]descriptionA descriptive text to be set. It should not be an empty string.
Returns
None.

◆ SetFileName()

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

Set the file name.

This function is required for a new file specification object (not constructed from an existing file specification PDF object).

Parameters
[in]file_nameThe file name to be set. It should not be an empty string.
Returns
None.

◆ SetModifiedDateTime()

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

Set last modified date and time for the embedded file. (Not affect local file)

This function is only useful when current file specification object represents an embedded file.

Parameters
[in]date_timeThe last modified date and time to be set.
Returns
None.

◆ SetSubtype()

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

(Only support in PDF 2.0) Set the MIME type value for "Subtype" key for embedded file (Not affect local file) when current file specification is used as an associated file.

This function is only useful when current file specification object represents an embedded file and used as associated file.

Parameters
[in]subtypeA valid MIME type value. Default value: "application/octet-stream".
Returns
None.

Foxit Software Corporation Logo
@2019 Foxit Software Incorporated. All rights reserved.