Foxit PDF SDK
FSAttachments Class Reference
Inheritance diagram for FSAttachments:
FSBase

Instance Methods

(BOOL) - addEmbeddedFile:file_spec:
 Add an embedded attachment (as file specification object) with new key name.
More...
 
(BOOL) - addFromFilePath:file_path:
 Add a new attachment from specified file path with new key name.
More...
 
(BOOL) - extractEmbeddedFileTo:dst_file_path:
 Extract an attachment and save it to a specified file path.
More...
 
(int) - getCount
 Get the count of attachments.
More...
 
(FSFileSpec *) - getEmbeddedFile:
 Get the attachment (as file specification object) of a specified key.
More...
 
(NSString *) - getKey:
 Get the key of an attachment defined in the EmbeddedFiles name tree, by index.
More...
 
(FSPDFNameTree *) - getNameTree
 Get the EmbeddedFiles name tree.
More...
 
(id) - initWithDoc:nametree:
 Constructor, with parameters. from a PDF document object and an EmbeddedFiles name tree (if any).
More...
 
(id) - initWithOther:
 Constructor, with another attachments object.
More...
 
(BOOL) - isEmpty
 Check whether current object is empty or not.
More...
 
(BOOL) - removeAllEmbeddedFiles
 Remove all attachments.
More...
 
(BOOL) - removeEmbeddedFile:
 Remove an attachment by key.
More...
 
(BOOL) - setEmbeddedFile:file_spec:
 Set an embedded attachment (as file specification object) for a specified key.
More...
 

Detailed Description

In application, document's embedded files are known as PDF attachments. This class offers a more convenient way, than class FSPDFNameTree, to get/set embedded files (also known as attachment files) in EmbeddedFiles name tree of a PDF document.

See also
FSPDFDoc
FSPDFNameTree

Method Documentation

◆ addEmbeddedFile:file_spec:()

- (BOOL) addEmbeddedFile: (NSString *)  key
file_spec: (FSFileSpec*)  file_spec 

Add an embedded attachment (as file specification object) with new key name.

All attachments in EmbeddedFiles name tree are ordered by their keys. When a new attachment is added, Foxit PDF SDK will find a suitable place in the name tree to add it. After adding successfully, the indexes of some old keys may be changed.

Parameters
[in]keyNew key string. If this is an empty string, the name of input file_spec will be used as the new key. This new key should not have existed in the PDF document to which current attachments object belongs.
[in]file_specA file specification object to be added with new key. It should be valid and should has been embedded to the same PDF document as current attachments object.
Returns
YES means success, while NO means failure.

◆ addFromFilePath:file_path:()

- (BOOL) addFromFilePath: (NSString *)  key
file_path: (NSString *)  file_path 

Add a new attachment from specified file path with new key name.

All attachments in EmbeddedFiles name tree are ordered by their keys. When a new attachment is added, Foxit PDF SDK will find a suitable place in the name tree to add it. After adding successfully, the indexes of some old keys may be changed.

Parameters
[in]keyNew key string. If this is an empty string, the name of input file_spec will be used as the new key. This new key should not have existed in the PDF document to which current attachments object belongs.
[in]file_pathA file path to specify a file to be embedded to the PDF document and also added to EmbeddedFiles name tree.
Returns
YES means success, while NO means failure.

◆ extractEmbeddedFileTo:dst_file_path:()

- (BOOL) extractEmbeddedFileTo: (NSString *)  key
dst_file_path: (NSString *)  dst_file_path 

Extract an attachment and save it to a specified file path.

Parameters
[in]keyKey string. This should not be an empty string.
[in]dst_file_pathA file path, to which the data of attachment will be saved. This should not be an empty string.
Returns
YES means success, while NO means failure.

◆ getCount()

- (int) getCount

Get the count of attachments.

Returns
The count of attachments.

◆ getEmbeddedFile:()

- (FSFileSpec *) getEmbeddedFile: (NSString *)  key

Get the attachment (as file specification object) of a specified key.

Parameters
[in]keyKey string. It should not be an empty string.
Returns
A file specification object.

◆ getKey:()

- (NSString *) getKey: (int)  index

Get the key of an attachment defined in the EmbeddedFiles name tree, by index.

Parameters
[in]indexIndex of the key string to be retrieved. Valid range: from 0 to (count-1). count is returned by function FSAttachments::getCount.
Returns
A key string.

◆ getNameTree()

- (FSPDFNameTree *) getNameTree

Get the EmbeddedFiles name tree.

Returns
The EmbeddedFiles name tree.

◆ initWithDoc:nametree:()

- (id) initWithDoc: (FSPDFDoc*)  doc
nametree: (FSPDFNameTree*)  nametree 

Constructor, with parameters. from a PDF document object and an EmbeddedFiles name tree (if any).

  • If no name tree object is specified, this function will construct the attachments object from PDF document: if there exists EmbeddedFiles name tree in the PDF document, this function is just to construct an attachments object to be associated with the name tree; If there is no such name tree in PDF document, the constructed attachments object can be used to create such name tree in PDF document and add some embedded files to the name tree.
  • If an EmbeddedFiles name tree is specified, this function will construct the attachments object from the name tree, along with the related PDF document.


Parameters
[in]docA valid PDF document object.
[in]nametreeA PDF name tree object that represents an EmbeddedFiles name tree. If this PDF name tree object is constructed by default constructor and has not been set any value, that means the attachments object will be constructed from PDF document; otherwise, please ensure it belongs to the PDF document specified by parameter doc.

◆ initWithOther:()

- (id) initWithOther: (FSAttachments*)  other

Constructor, with another attachments object.

Parameters
[in]otherAnother attachments object.

◆ isEmpty()

- (BOOL) isEmpty

Check whether current object is empty or not.

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

Returns
YES means current object is empty, while NO means not.

◆ removeAllEmbeddedFiles()

- (BOOL) removeAllEmbeddedFiles

Remove all attachments.

Returns
YES means success, while NO means failure.

◆ removeEmbeddedFile:()

- (BOOL) removeEmbeddedFile: (NSString *)  key

Remove an attachment by key.

If the input key does not exist in EmbeddedFiles name tree, this function will return YES directly.

Parameters
[in]keyKey string. This should not be an empty string.
Returns
YES means success, while NO means failure.

◆ setEmbeddedFile:file_spec:()

- (BOOL) setEmbeddedFile: (NSString *)  key
file_spec: (FSFileSpec*)  file_spec 

Set an embedded attachment (as file specification object) for a specified key.

Parameters
[in]keyKey string. It should not be an empty string. This name should have existed in current PDF document.
[in]file_specA file specification object to be set to the key's value. It should be valid and should has been embedded to the same PDF document as current attachments object.
Returns
YES means success, while NO means failure.