Generic dictionary containing extra properties of this attachment file.
public IDictionary<string, string> Metadata {get;} public:property IDictionary<String^, String^>^ Metadata{IDictionary<String^, String^>^ get()}
Metadata # get (CodecsAttachment)
Optional generic dictionary containing extra properties of this attachment file. The default value is an empty dictionary.
Metadata can be used by the file filter to store any extra attachment properties specific to the file format. For instance, a PDF file may store the object number of the attachment.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;private static void ReadAttachmentsExample(string fileName, string outputDir){using (RasterCodecs rasterCodecs = new RasterCodecs()){int attachmentCount;// Get information on the owner file// This step is optional if we are not interested in determining whether the owner file format// or whether it is a PDF portfolio.using (CodecsImageInfo imageInfo = rasterCodecs.GetInformation(fileName, true)){Debug.WriteLine("Information");Debug.WriteLine("Format:" + imageInfo.Format);// If PDF, check if it is portfolioif (imageInfo.Format == RasterImageFormat.RasPdf)Debug.WriteLine("IsPortfolio:" + imageInfo.IsPortfolio);attachmentCount = imageInfo.AttachmentCount;Debug.WriteLine("Attachments:" + imageInfo.AttachmentCount);}// Read the properties of the attachments embedded in this fileCodecsAttachments attachments = rasterCodecs.ReadAttachments(fileName);if (attachments == null){// The format either:// - Does not support attachments// - LEADTOOLS does not support reading its attachmentsDebug.WriteLine("Attachments is not supported for this file format");return;}// Sanity checkDebug.Assert(attachments.Count == attachmentCount);Debug.Assert(attachments.OriginalFormat == RasterImageFormat.Unknown);if (attachments.Count == 0){Debug.WriteLine("No attachments to extract");return;}// Create the output directory if it does not existif (!Directory.Exists(outputDir))Directory.CreateDirectory(outputDir);// Extract the attachmentsforeach (CodecsAttachment attachment in attachments){// Get the output file namestring outputFileName = Path.Combine(outputDir, attachment.FileName);var description = attachment.Description;var displayName = attachment.DisplayName;var fileLength = attachment.FileLength;var metaData = attachment.Metadata;var timeCreated = attachment.TimeCreated;var timeModified = attachment.TimeModified;Debug.WriteLine("Extracting attachment to output file: " + outputFileName);rasterCodecs.ExtractAttachment(fileName, attachment.AttachmentNumber, outputFileName);// Show information on this attachmenttry{using (CodecsImageInfo imageInfo = rasterCodecs.GetInformation(outputFileName, true)){Debug.WriteLine($" attachment format is {imageInfo.Format} and has {imageInfo.TotalPages} pages");}}catch (Exception ex){Debug.WriteLine($" attachment format could not be obtained, error {ex.Message}");}}}}
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
