Foxit PDF SDK

Instance Methods | List of all members
FSAttachments Class Reference
Inheritance diagram for FSAttachments:

## 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] | key | New 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_spec | A 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] | key | New 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_path | A 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] | key | Key string. This should not be an empty string.
  [in] | dst_file_path | A 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] | key | Key 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] | index | Index 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] | doc | A valid PDF document object.
  [in] | nametree | A 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. Default value: a PDF name tree object by default constructor and not set any value.

## ◆ initWithOther:()

- (id) initWithOther: |  | (FSAttachments*) | other |

Constructor, with another attachments object.

Parameters

  [in] | other | Another 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] | key | Key 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] | key | Key string. It should not be an empty string. This name should have existed in current PDF document.
  [in] | file_spec | A 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.