←Select platform

OriginalFormat Property

Summary

Format of the owner file passed to RasterCodecs.ReadAttachments.

Syntax
C#
C++/CLI
Python
public RasterImageFormat OriginalFormat { get; set; } 
public:  
   property RasterImageFormat^ OriginalFormat 
   { 
      RasterImageFormat^ get() 
      void set(RasterImageFormat^ value) 
   } 
OriginalFormat # get and set (CodecsAttachments) 

Property Value

Format of the owner (parent) file passed to RasterCodecs.ReadAttachments. The default value is Unknown.

Remarks

The value of OriginalFormat will be the file format of the owner file passed to RasterCodecs.ReadAttachments. For instance, if the method was called on a PDF file, then OriginalFormat will be RasPdf.

Example
C#
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}"); 
         } 
      } 
   } 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.