Properties of an embedded file (attachment) in this document.
[SerializableAttribute()]public class PDFEmbeddedFile
public class PDFEmbeddedFile public:[SerializableAttribute]ref class PDFEmbeddedFile
class PDFEmbeddedFile: PDF documents support embedded files of any type. The file can be another PDF, a TIF file, a JPEG image, or any other binary or textual data.
The embedded files (attachments) of a PDF document can be read using the following:
The binary data of an embedded file can be extracted and saved to an output file or stream using PDFFile.ExtractEmbeddedFile.
PDFEmbeddedFile contains the following members:
| Member | Description |
|---|---|
| FileNumber | 1-based file number of this embedded file. This is a unique value |
| FileName | Embedded file name |
| ObjectNumber | PDF object number of this embedded file. This is a unique value |
| Description | Description of this embedded file. This is optional |
| FileSize | Size of the file in bytes |
| Created | Date this file was created |
| Modified | Date this file was last modified |
| SchemaValues | Values for the PDF schema if this PDF is a portfolio. This is optional |
Note that the FileName may not be unique in the collection of embedded files found in a PDF document. Instead, use the FileNumber or ObjectNumber property to get a unique identifier for the embedded file.
FileNumber is used as the parameter to identify the embedded file to extract using PDFFile.ExtractEmbeddedFile.
Refer to PDFDocument.EmbeddedFiles for more information on using a PDFSchema with PDF portfolio and embedded files.
using Leadtools;using Leadtools.Codecs;using Leadtools.Controls;using Leadtools.Pdf;using Leadtools.Svg;using Leadtools.WinForms;public static void ExtractEmbeddedFiles(string inputFileName, string outputDir){// Load the source documentPDFDocument pdfDocument = new PDFDocument(inputFileName);if (!pdfDocument.HasEmbeddedFiles){Console.WriteLine("PDF does not have embedded files");// No embedded filespdfDocument.Dispose();return;}// Read the attachmentspdfDocument.ParseDocumentStructure(PDFParseDocumentStructureOptions.EmbeddedFiles);if (!Directory.Exists(outputDir))Directory.CreateDirectory(outputDir);foreach (PDFEmbeddedFile embeddedFile in pdfDocument.EmbeddedFiles){// Show this file informationConsole.WriteLine($"Number:{embeddedFile.FileNumber}");Console.WriteLine($" FileName:{embeddedFile.FileName}");Console.WriteLine($" FileSize:{embeddedFile.FileSize}");Console.WriteLine($" Description:{embeddedFile.Description}");Console.WriteLine($" Created:{embeddedFile.Created}");Console.WriteLine($" Modified:{embeddedFile.Modified}");// Extract this attachment to the output directory// Note: FileName of an embedded file is not guaranteed to be unique, therefore, we will append// the file number which is unique to the output namestring outputFileName = $"{embeddedFile.FileNumber}-{embeddedFile.FileName}";Console.WriteLine($" Extracting to {outputFileName}");outputFileName = Path.Combine(outputDir, outputFileName);PDFFile.ExtractEmbeddedFile(inputFileName, pdfDocument.Password, embeddedFile.FileNumber, outputFileName);}pdfDocument.Dispose();}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
