Foxit PDF SDK

Public Types | Public Member Functions | List of all members
foxit::pdf::AssociatedFiles Class Reference
Inheritance diagram for foxit::pdf::AssociatedFiles:

## Public Types
enum | Relationship { e_RelationshipUnspecified = 0, e_RelationshipSource = 1, e_RelationshipData = 2, e_RelationshipAlternative = 3, e_RelationshipSupplement = 4, e_RelationshipEncryptedPayload = 5, e_RelationshipFormData = 6, e_RelationshipSchema = 7 }
| Enumeration for the relationship between PDF document and the associated file. More...

## Public Member Functions
| AssociatedFiles (const AssociatedFiles &other)
| Constructor, with another associated files object. More...
| AssociatedFiles (const PDFDoc &pdf_doc)
| Constructor, with a PDF document. More...
| ~AssociatedFiles ()
| Destructor.
void | AssociateFile (const foxit::pdf::annots::Annot &annot, const foxit::pdf::FileSpec &file_spec)
| Associate a file (represented by FileSpec) with a PDF annotation. More...
void | AssociateFile (const foxit::pdf::PDFPage &page, const foxit::pdf::FileSpec &file_spec)
| Associate a file (represented by FileSpec) with a PDF page. More...
void | AssociateFile (foxit::pdf::graphics::FormXObject *form_xobject, const foxit::pdf::FileSpec &file_spec)
| Associate a file (represented by FileSpec) with a form XObject graphics object. More...
void | AssociateFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int mark_content_item_index, foxit::pdf::objects::PDFObject *current_resource, const char *property_name, const foxit::pdf::FileSpec &file_spec)
| Associate a file (represented by FileSpec) with a marked content item of a specified graphics object. More...
void | AssociateFile (foxit::pdf::graphics::ImageObject *image, const foxit::pdf::FileSpec &file_spec)
| Associate a file (represented by FileSpec) with an image graphics object. More...
void | AssociateFile (objects::PDFObject *pdf_object, const FileSpec &file_spec)
| Associate a file (represented by FileSpec) with a PDF dictionary object which represents the dictionary of an annotation, a PDF page, or other object in PDF document. More...
FileSpec | GetAssociatedFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int index)
| Get an associated file a graphics object, by index. More...
FileSpec | GetAssociatedFile (objects::PDFObject *pdf_object, int index)
| Get an associated file (represented by FileSpec) in a specified PDF dictionary object, by index. More...
int | GetAssociatedFilesCount (foxit::pdf::graphics::GraphicsObject *graphics_object)
| Get the count of associated files in a graphics object. More...
int | GetAssociatedFilesCount (objects::PDFObject *pdf_object)
| Get the count of associated files in a PDF dictionary object which represents the dictionary of an annotation, a PDF page, or other object in PDF document. More...
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | operator!= (const AssociatedFiles &other) const
| Not equal operator. More...
AssociatedFiles & | operator= (const AssociatedFiles &other)
| Assign operator. More...
bool | operator== (const AssociatedFiles &other) const
| Equal operator. More...
void | RemoveAssociatedFile (foxit::pdf::graphics::GraphicsObject *graphics_object, int index)
| Remove an associated file a graphics object, by index. More...
void | RemoveAssociatedFile (objects::PDFObject *pdf_object, int index)
| Remove an associated file (represented by FileSpec) in a specified PDF dictionary object, by index. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Detailed Description

In PDF 2.0, a new concept named "Associated files" is defined. Associated files provide a means to associate content in other formats with objects of a PDF file and identify the relationship between the content and the objects. Such associated files are designated using file specification dictionaries (known as file specification). Associated files could be linked to the PDF document's catalog, a page dictionary, graphics objects, structure elements, XObject, DParts, an annotation dictionary and so on. Specially, associated files with graphics objects means to be associated with the marked content item.
Class AssociatedFiles is the class for managing associate files. It offers the functions to count/get associate files in PDF dictionary or graphics object, to associate files (represented by FileSpec) with catalog, PDF pages, graphics objects, form XObject objects, annotation objects and so on.
Specially, when construct an associated files object with a PDF document, the file version of the related PDF document will be set to 2.0.

## Member Enumeration Documentation

## ◆ Relationship

enum foxit::pdf::AssociatedFiles::Relationship

Enumeration for the relationship between PDF document and the associated file.

Values of this enumeration should be used alone.

Enumerator
e_RelationshipUnspecified | The relationship is not known or cannot be described by other values.
e_RelationshipSource | The relationship is "Source" which means the file specification is the original source material for the associated content.
e_RelationshipData | The relationship is "Data" which means the file specification represents information used to derive a visual presentation - such as for a table or a graph.
e_RelationshipAlternative | The relationship is "Alternative" which means the file specification is an alternative representation of content, for example audio.
e_RelationshipSupplement | The relationship is "Supplement" which means the file specification represents a supplemental representation of the original source or data that may be more easily consumable.
e_RelationshipEncryptedPayload | The relationship is "Encrypted payload" which means the file specification is an encrypted payload document that should be displayed to the user if the PDF processor has the cryptographic filter needed to decrypt the document.
e_RelationshipFormData | The relationship is "Form data" which means the file specification is the data associated with the "AcroForm" dictionary in the PDF file.
e_RelationshipSchema | The relationship is "Schema" which means the file specification is a schema definition for the associated object.

## Constructor & Destructor Documentation

## ◆ AssociatedFiles() [1/2]

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

Constructor, with another associated files object.

Parameters

  [in] | other | Another associated files object.

## ◆ AssociatedFiles() [2/2]

foxit::pdf::AssociatedFiles::AssociatedFiles | ( | const PDFDoc & | pdf_doc | ) |
| explicit

Constructor, with a PDF document.

When an associated files object is constructed by this constructor, the file version of input PDF document will be set to 2.0.

Parameters

  [in] | pdf_doc | A valid PDF document object.

## Member Function Documentation

## ◆ AssociateFile() [1/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | const foxit::pdf::annots::Annot & | annot,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with a PDF annotation.

In fact, this function is equals to associate a file with a PDF dictionary of a PDF annotation.

Parameters

  [in] | annot | A valid PDF annotation.
  [in] | file_spec | A file specification object to be associated with specified PDF annotation object. It should not be an empty string.

Returns
  None.

## ◆ AssociateFile() [2/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | const foxit::pdf::PDFPage & | page,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with a PDF page.

In fact, this function is equals to associate a file with a PDF page dictionary.

Parameters

  [in] | page | A valid PDF page.
  [in] | file_spec | A file specification object to be associated with specified PDF page. It should not be an empty string.

Returns
  None.

## ◆ AssociateFile() [3/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::FormXObject * | form_xobject,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with a form XObject graphics object.

In fact, this function is equals to associate a file with a PDF dictionary of a form XObject graphics object.

Parameters

  [in] | form_xobject | A form XObject graphics object. It should not be NULL.
  [in] | file_spec | A file specification object to be associated with specified form XObject graphics object. It should not be an empty string.

Returns
  None.

## ◆ AssociateFile() [4/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | mark_content_item_index,
|  | foxit::pdf::objects::PDFObject * | current_resource,
|  | const char * | property_name,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with a marked content item of a specified graphics object.

Parameters

  [in] | graphics_object | A valid graphics object.
  [in] | mark_content_item_index | The index of marked content item in input graphic object to which the specified file specification object is to associated with. Valid range: from 0 to (count-1). count is returned by function graphics::MarkedContent::GetItemCount of the marked content related to input graphics object.
  [in] | current_resource | A resource dictionary of a PDF page to which input graphics object is related. This can also be a PDF reference object that refers to such a PDF dictionary.
  [in] | property_name | A property name used in "Properties" dictionary of input resource dictionary. It should not be an empty string.
  [in] | file_spec | A file specification object to be associated with specified marked content item of a specified graphics object. It should not be an empty string.

Returns
  None.

Note
  When this function succeeds, function GraphicsObjects::GenerateContent should be called. Please refer to function GraphicsObjects::GenerateContent for more details.

## ◆ AssociateFile() [5/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | foxit::pdf::graphics::ImageObject * | image,
|  | const foxit::pdf::FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with an image graphics object.

In fact, this function is equals to associate a file with a PDF dictionary of an image graphics object.

Parameters

  [in] | image | An image graphics object. It should not be NULL.
  [in] | file_spec | A file specification object to be associated with specified image graphics object. It should not be an empty string.

Returns
  None.

## ◆ AssociateFile() [6/6]

void foxit::pdf::AssociatedFiles::AssociateFile | ( | objects::PDFObject * | pdf_object,
|  | const FileSpec & | file_spec
| ) |  |

Associate a file (represented by FileSpec) with a PDF dictionary object which represents the dictionary of an annotation, a PDF page, or other object in PDF document.

Parameters

  [in] | pdf_object | A valid PDF object. It should be either a PDF dictionary object or a PDF reference object that refers to a PDF dictionary object.
  [in] | file_spec | A file specification object to be associated with specified PDF dictionary. It should not be an empty string.

Returns
  None.

## ◆ GetAssociatedFile() [1/2]

FileSpec foxit::pdf::AssociatedFiles::GetAssociatedFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | index
| ) |  |

Get an associated file a graphics object, by index.

One or more files may be associated with sections of content in a content stream by enclosing those sections between the marked content. So, in fact, this function is to get an associated files (specified by index) in the marked content related to the graphics object.

Parameters

  [in] | graphics_object | A valid PDF graphics object.
  [in] | index | The index of an associated file in the specified PDF graphics object. Valid range: from 0 to (count-1). count is returned by function AssociatedFiles::GetAssociatedFilesCount with same parameter graphics_object.

Returns
  A file specification object that represents the expected associated file.

## ◆ GetAssociatedFile() [2/2]

FileSpec foxit::pdf::AssociatedFiles::GetAssociatedFile | ( | objects::PDFObject * | pdf_object,
|  | int | index
| ) |  |

Get an associated file (represented by FileSpec) in a specified PDF dictionary object, by index.

Parameters

  [in] | pdf_object | A valid PDF object. It should be either a PDF dictionary object or a PDF reference object that refers to a PDF dictionary object.
  [in] | index | The index of an associated file in the specified PDF dictionary object. Valid range: from 0 to (count-1). count is returned by function AssociatedFiles::GetAssociatedFilesCount with same parameter object.

Returns
  A file specification object that represents the expected associated file.

## ◆ GetAssociatedFilesCount() [1/2]

int foxit::pdf::AssociatedFiles::GetAssociatedFilesCount | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object | ) |

Get the count of associated files in a graphics object.

One or more files may be associated with sections of content in a content stream by enclosing those sections between the marked content. So, in fact, this function is to count associated files in the marked content related to the graphics object.

Parameters

  [in] | graphics_object | A valid PDF graphics object.

Returns
  The count of associated files.

## ◆ GetAssociatedFilesCount() [2/2]

int foxit::pdf::AssociatedFiles::GetAssociatedFilesCount | ( | objects::PDFObject * | pdf_object | ) |

Get the count of associated files in a PDF dictionary object which represents the dictionary of an annotation, a PDF page, or other object in PDF document.

Parameters

  [in] | pdf_object | A valid PDF object. It should be either a PDF dictionary object or a PDF reference object that refers to a PDF dictionary object.

Returns
  The count of associated files.

## ◆ IsEmpty()

bool foxit::pdf::AssociatedFiles::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::AssociatedFiles::operator!= | ( | const AssociatedFiles & | other | ) | const

Not equal operator.

Parameters

  [in] | other | Another associated files object. This function will check if current object is not equal to this one.

Returns
  true means not equal, while false means equal.

## ◆ operator=()

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

Assign operator.

Parameters

  [in] | other | Another associated files object, whose value would be assigned to current object.

Returns
  Reference to current object itself.

## ◆ operator==()

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

Equal operator.

Parameters

  [in] | other | Another associated files object. This function will check if current object is equal to this one.

Returns
  true means equal, while false means not equal.

## ◆ RemoveAssociatedFile() [1/2]

void foxit::pdf::AssociatedFiles::RemoveAssociatedFile | ( | foxit::pdf::graphics::GraphicsObject * | graphics_object,
|  | int | index
| ) |  |

Remove an associated file a graphics object, by index.

One or more files may be associated with sections of content in a content stream by enclosing those sections between the marked content. So, in fact, this function is to count associated files in the marked content related to the graphics object.

Parameters

  [in] | graphics_object | A valid PDF graphics object.
  [in] | index | The index of an associated file in the specified PDF graphics object. Valid range: from 0 to (count-1). count is returned by function AssociatedFiles::GetAssociatedFilesCount with same parameter graphics_object.

Returns
  A file specification object that represents the expected associated file.

## ◆ RemoveAssociatedFile() [2/2]

void foxit::pdf::AssociatedFiles::RemoveAssociatedFile | ( | objects::PDFObject * | pdf_object,
|  | int | index
| ) |  |

Remove an associated file (represented by FileSpec) in a specified PDF dictionary object, by index.

Parameters

  [in] | pdf_object | A valid PDF object. It should be either a PDF dictionary object or a PDF reference object that refers to a PDF dictionary object.
  [in] | index | The index of an associated file in the specified PDF dictionary object. Valid range: from 0 to (count-1). count is returned by function AssociatedFiles::GetAssociatedFilesCount with same parameter object.

Returns
  None.