←Select platform

CodecsRasterizeDocumentSizeMode Enumeration

Specifies the transformation to use when converting the logical size specified in the current document rasterization options to the final physical raster image size.
public enum CodecsRasterizeDocumentSizeMode   
typedef NS_ENUM(NSInteger, LTCodecsRasterizeDocumentSizeMode) { 
 LTCodecsRasterizeDocumentSizeModeNone = 0,  
 LTCodecsRasterizeDocumentSizeModeFit = 1,  
 LTCodecsRasterizeDocumentSizeModeFitAlways = 2,  
 LTCodecsRasterizeDocumentSizeModeFitWidth = 3,  
 LTCodecsRasterizeDocumentSizeModeStretch = 4 
public enum CodecsRasterizeDocumentSizeMode 
public enum class CodecsRasterizeDocumentSizeMode   
class CodecsRasterizeDocumentSizeMode(Enum): 
   None = 0 
   Fit = 1 
   FitAlways = 2 
   FitWidth = 3 
   Stretch = 4 

Use the original document width and height. No transformation will be performed and CodecsRasterizeDocumentLoadOptions.PageWidth and CodecsRasterizeDocumentLoadOptions.PageHeight are not used.

The final RasterImage will have a width or height value equals to the original document size.


Fit the resulting raster image into CodecsRasterizeDocumentLoadOptions.PageWidth and CodecsRasterizeDocumentLoadOptions.PageHeight while maintaining the aspect ratio. If the original document size is smaller than the requested page size, no transformation is performed.

The final RasterImage will have a width or height equal to or less than the requested page width or height but not greater.


Always fit the resulting raster image into CodecsRasterizeDocumentLoadOptions.PageWidth and CodecsRasterizeDocumentLoadOptions.PageHeight while maintaining the aspect ratio. If the original document size is smaller than the requested page size, then the result image is scaled up.

The final RasterImage will have a width or height equal to the requested page width or height. Not less and not greater.


Fit the resulting raster image width into CodecsRasterizeDocumentLoadOptions.PageWidth while maintaining the aspect ratio. The image height will be calculated based on the transformation and CodecsRasterizeDocumentLoadOptions.PageHeight is not used.

The final RasterImage will have a width equal to the requested page width. The height depends on the original document height.


The resulting raster image width and height will be exactly equal to CodecsRasterizeDocumentLoadOptions.PageWidth and CodecsRasterizeDocumentLoadOptions.PageHeight. Aspect ratio might be different than the original document.

The final RasterImage will have a width and height equal to the requested page width and height.


The CodecsRasterizeDocumentSizeMode enumeration type is used as the value for CodecsRasterizeDocumentLoadOptions.SizeMode property.

LEADTOOLS provides support for loading a document as a raster image. Document formats such as PDF, XPS, DOCX/DOC, PPTX/PPT, XLSS/XLS, RTF and Text do not contain physical width, height or resolution. It is up to the loader (in this case, the RasterCodecs object) to specify the transformation from logical coordinates to physical pixels through a process called rasterization. For more information, refer to CodecsRasterizeDocumentLoadOptions.

You can use the CodecsRasterizeDocumentLoadOptions.SizeMode property to control how to use CodecsRasterizeDocumentLoadOptions.PageWidth and CodecsRasterizeDocumentLoadOptions.PageHeight to control the final raster image size. LEADTOOLS will determine the original document size (a value that can be obtained in CodecsDocumentImageInfo.PageWidth and CodecsDocumentImageInfo.PageHeight and then apply the transformation from this value to determine the final RasterImage width and height.

using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
public void CodecsPdfOptionsExample() 
   RasterCodecs codecs = new RasterCodecs(); 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "PDFSegmentation.pdf"); 
   string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "PdfOptions.pdf"); 
   string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "PdfOptions.bmp"); 
   CodecsImageInfo info = codecs.GetInformation(srcFileName, true); 
   codecs.Options.Pdf.InitialPath = @"C:\MyApp\Bin"; 
   info = codecs.GetInformation(srcFileName, true); 
   Debug.WriteLine("Information for: {0}", srcFileName); 
   Debug.WriteLine(string.Format("Document: {0}", info.Document)); // CodecsDocumentImageInfo reference 
   Debug.WriteLine(string.Format("Document: {0}", info.Document.IsDocumentFile)); 
   Debug.WriteLine(string.Format("Document: {0}", info.Document.PageHeight)); 
   Debug.WriteLine(string.Format("Document: {0}", info.Document.PageWidth)); 
   Debug.WriteLine(string.Format("Document: {0}", info.Document.Unit)); 
   Debug.WriteLine(string.Format("Document: {0}", info.IsGray8Alpha)); 
   Debug.WriteLine(string.Format("Palette: {0}", info.GetPalette())); 
   // Check if the PDF engine is installed then get the load and save options of the PDF files. 
   if (codecs.Options.Pdf.IsEngineInstalled) 
      // Resulting image pixel depth. 
      // CodecsPdfOptions & CodecsPdfLoadOptions reference 
      codecs.Options.Pdf.Load.DisplayDepth = 24; 
      codecs.Options.Pdf.Load.GraphicsAlpha = 4; 
      codecs.Options.Pdf.Load.DisableCieColors = false; 
      codecs.Options.Pdf.Load.DisableCropping = false; 
      codecs.Options.Pdf.Load.EnableInterpolate = false; 
      codecs.Options.Pdf.Load.Password = ""; 
      // Type of font anti-aliasing to use. 
      codecs.Options.Pdf.Load.TextAlpha = 1; 
      codecs.Options.Pdf.Load.UseLibFonts = true; 
      // Horizontal,vertical  display resolution in dots per inch. 
      codecs.Options.RasterizeDocument.Load.XResolution = 150; 
      codecs.Options.RasterizeDocument.Load.YResolution = 150; 
      // CodecsRasterizeDocumentOptions & CodecsRasterizeDocumentLoadOptions reference 
      codecs.Options.RasterizeDocument.Load.BottomMargin = 0.1; 
      codecs.Options.RasterizeDocument.Load.LeftMargin = 0.1; 
      codecs.Options.RasterizeDocument.Load.PageHeight = 11; 
      codecs.Options.RasterizeDocument.Load.PageWidth = 8.5; 
      codecs.Options.RasterizeDocument.Load.Resolution = 150; 
      codecs.Options.RasterizeDocument.Load.RightMargin = 1.25; 
      codecs.Options.RasterizeDocument.Load.SizeMode = CodecsRasterizeDocumentSizeMode.None; // CodecsRasterizeDocumentSizeMode Enumeration reference 
      codecs.Options.RasterizeDocument.Load.TopMargin = 1.0; 
      codecs.Options.RasterizeDocument.Load.Unit = CodecsRasterizeDocumentUnit.Pixel; // CodecsRasterizeDocumentUnit Enumeration reference 
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
         // Set access rights for the user when he\she opens the file we create 
         // CodecsPdfSaveOptions reference 
         codecs.Options.Pdf.Save.AssembleDocument = true; 
         codecs.Options.Pdf.Save.ExtractText = true; 
         codecs.Options.Pdf.Save.ExtractTextGraphics = true; 
         codecs.Options.Pdf.Save.PrintDocument = false; 
         codecs.Options.Pdf.Save.FillForm = true; 
         codecs.Options.Pdf.Save.ModifyAnnotation = true; 
         codecs.Options.Pdf.Save.ModifyDocument = true; 
         codecs.Options.Pdf.Save.OwnerPassword = "LEAD Technologies"; 
         codecs.Options.Pdf.Save.PrintFaithful = false; 
         codecs.Options.Pdf.Save.TextEncoding = CodecsPdfTextEncoding.Hex; 
         codecs.Options.Pdf.Save.Use128BitEncryption = true; 
         codecs.Options.Pdf.Save.UserPassword = "LEAD"; 
         // Set the PDF version to be v1.4 
         codecs.Options.Pdf.Save.Version = CodecsRasterPdfVersion.V14; 
         // Save it as linearized (optimized for web view) 
         codecs.Options.Pdf.Save.Linearized = true; 
         codecs.Options.Pdf.Save.LowMemoryUsage = false; 
         codecs.Options.Pdf.Save.SavePdfA = false; 
         codecs.Options.Pdf.Save.SavePdfv13 = false; 
         codecs.Options.Pdf.Save.SavePdfv14 = false; 
         codecs.Options.Pdf.Save.SavePdfv15 = false; 
         codecs.Options.Pdf.Save.SavePdfv16 = false; 
         codecs.Options.Pdf.Save.SavePdfv17 = false; 
         codecs.Options.Pdf.Save.UseImageResolution = true; 
         // Save the image back as PDF 
         codecs.Save(image, destFileName1, RasterImageFormat.RasPdf, 24); 
      // And load it back before saving it as BMP 
      using (RasterImage image = codecs.Load(destFileName1)) 
         codecs.Save(image, destFileName2, RasterImageFormat.Bmp, image.BitsPerPixel); 
      Debug.WriteLine("PDF Engine is not found!"); 
   // Clean up 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 

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.