CodecsAttachment Class (original) (raw)
Summary
Properties of a single attachment in a file.
Syntax
public class CodecsAttachment
public:
ref class CodecsAttachment
Example
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 portfolio
if (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 file
CodecsAttachments attachments = rasterCodecs.ReadAttachments(fileName);
if (attachments == null)
{
// The format either:
// - Does not support attachments
// - LEADTOOLS does not support reading its attachments
Debug.WriteLine("Attachments is not supported for this file format");
return;
}
// Sanity check
Debug.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 exist
if (!Directory.Exists(outputDir))
Directory.CreateDirectory(outputDir);
// Extract the attachments
foreach (CodecsAttachment attachment in attachments)
{
// Get the output file name
string 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 attachment
try
{
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}");
}
}
}
}
Leadtools.Codecs Assembly
CompactFile(Stream,Stream,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method
CompactFile(Stream,Stream,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method
CompactFile(string,string,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method
CompactFile(string,string,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method