1. Home
  2. Foxit PDF SDK for Windows
  3. How to Add Attachments to your PDFs with Foxit PDF SDK (Java)
  1. Home
  2. Foxit PDF SDK for Mac
  3. How to Add Attachments to your PDFs with Foxit PDF SDK (Java)
  1. Home
  2. Foxit PDF SDK for Linux
  3. How to Add Attachments to your PDFs with Foxit PDF SDK (Java)

How to Add Attachments to your PDFs with Foxit PDF SDK (Java)

With Foxit PDF SDK, attachments refer to documents rather than file attachment annotations. This allows whole files to be embedded in a document, much like email attachments. PDF SDK provides application APIs to access functions such as loading attachments, getting attachments, inserting/removing attachments, and accessing properties of attachments.

Example:

How to export the embedded attachment file from a PDF and save it as a single file

import com.foxit.sdk.PDFException;
import com.foxit.sdk.common.Library;
import com.foxit.sdk.pdf.Attachments;
import com.foxit.sdk.pdf.FileSpec;
import com.foxit.sdk.pdf.PDFDoc;
import com.foxit.sdk.pdf.objects.PDFNameTree;
...
PDFNameTree empty_nametree = new PDFNameTree();
{
// Get information of attachments.
Attachments attachments = new Attachments(doc, empty_nametree);
int count = attachments.getCount();
for (int i = 0; i < count; i++) {
String key = attachments.getKey(i);
FileSpec file_spec = attachments.getEmbeddedFile(key);
if (!file_spec.isEmpty()) {
String name = file_spec.getFileName();
if (file_spec.isEmbedded()) {
String export_file_path = output_path + name;
file_spec.exportToFile(export_file_path);
}
}
}
}

How to remove all the attachments of a PDF

import com.foxit.sdk.PDFException;
import com.foxit.sdk.common.Library;
import com.foxit.sdk.pdf.Attachments;
import com.foxit.sdk.pdf.PDFDoc;
import com.foxit.sdk.pdf.objects.PDFNameTree;
...
// Assuming PDFDoc doc has been loaded.
PDFNameTree empty_nametree = new PDFNameTree();
{
// Get information of attachments.
Attachments attachments = new Attachments(doc, empty_nametree);
attachments.removeAllEmbeddedFiles();
}
...
Updated on November 11, 2019

Was this article helpful?

Related Articles