←Select platform

RasterCodecsTemplate Property

Summary

Global template used when loading and saving raster and SVG images.

Syntax
C#
VB
C++
Java
public static RasterCodecs RasterCodecsTemplate { get; set; } 
Public Shared Property RasterCodecsTemplate() As RasterCodecs 
   Get 
   Set 
public:  
   static property RasterCodecs^ RasterCodecsTemplate 
   { 
      RasterCodecs^ get() 
      void set(RasterCodecs^ value) 
   } 
public static RasterCodecs getRasterCodecsTemplate() 
public void sasterCodecs getRasterCodecsTemplate(static value) 

Property Value

The global RasterCodecs template to use when loading and saving raster and SVG images. The default value is a RasterCodecs object with the following values:

Property Value
CodecsRasterizeDocumentLoadOptions.Resolution DefaultDocumentResolution (default value is 300)
CodecsLoadOptions.Resolution DefaultRasterResolution (default value is 96)
CodecsVectorLoadOptions.ViewWidth and ViewHeight 1000 by 1000
CodecsPdfLoadOptions.HideAnnotations true
CodecsLoadOptions.AutoFixImageResolution true
CodecsJpegSaveOptions.QualityFactor 40
Remarks

The RasterCodecs class is used throughout the Document library to load and save RasterImage and SvgDocument objects. This class contain various options to control how the data is loaded and processed. For example, one option sets which resolution (DPI) to use when rasterizing a text-based PDF file.

When a new LEADDocument object is created by this factory, a new RasterCodecs object is created and set in RasterCodecs, which is then checked and if it is not null, then the options are copied from and set to LEADDocument.RasterCodecs using CodecsOptions.Clone. This way, the library guarantees that the same global options set by the user in RasterCodecsTemplate are used throughout the application.

The Document library is thread-safe, whereas a single RasterCodecs object is not and so cannot be used by multiple threads at the same time. Therefore, the library will internally create instances of RasterCodecs and dispose of them as needed (for example, when calling DocumentPage.GetImage, to get the raster image representation of a page).

Whenever this happens, the library will copy the options from LEADDocument.RasterCodecs into the options of the temporarily created RasterCodecs object using CodecsOptions.Clone. This way, the library guarantees that the same global options set by the user in the RasterCodecsTemplate are used throughout the application if needed, but still the options can be changed for each LEADDocument individually.

To modify this property, change any of the options to be used by subsequent LEADDocument objects. For instance, the following sample code will load PDF files with embedded annotations burned into the raster or SVG image of the pages:

C#
// By default, the document factory is designed to hide the annotations of a PDF file and instead load them 
// as a live LEADTOOLS annotations file. 
// This code changes this behavior and instead burns the annotations on the pages themselves 
DocumentFactory.RasterCodecsTemplate.Options.Pdf.Load.HideAnnotations = false; 
var loadDocumentOptions = new LoadDocumentOptions(); 
// Do not load any embedded annotations 
loadDocumentOptions.LoadEmbeddedAnnotations = false; 
// Load the document 
LEADDocument document = DocumentFactory.LoadFromFile("path-to-pdf-with-embedded-annotations.pdf", loadDocumentOptions); 
// Set it in the viewer 
documentViewer.SetDocument(document); 
// Set it in the viewer 
documentViewer.SetDocument(document); 

Example

This example shows how to use the RasterCodecsTemplate to change the resolution used when loading document files.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Barcode; 
using Leadtools.Document.Converter; 
 
public void DocumentFactoryRasterCodecsTemplateExample() 
{ 
	DocumentFactory.RasterCodecsTemplate.Options.RasterizeDocument.Load.XResolution = 100; 
	DocumentFactory.RasterCodecsTemplate.Options.RasterizeDocument.Load.YResolution = 100; 
 
	var options = new LoadDocumentOptions(); 
	using (var document = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"), options)) 
	{ 
		foreach (var page in document.Pages) 
		{ 
			Console.WriteLine("Page (" + page.PageNumber + ") - Resolution: " + page.Resolution); 
		} 
	} 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Document.Writer 
Imports Leadtools.Svg 
Imports Leadtools.Document 
Imports Leadtools.Caching 
Imports Leadtools.Annotations.Engine 
Imports Leadtools.Barcode 
Imports Leadtools.Ocr 
Imports LeadtoolsDocumentExamples.LeadtoolsExamples.Common 
Imports Leadtools.Document.Converter 
 
Public Shared Sub DocumentFactoryRasterCodecsTemplateExample() 
   DocumentFactory.RasterCodecsTemplate.Options.RasterizeDocument.Load.XResolution = 100 
   DocumentFactory.RasterCodecsTemplate.Options.RasterizeDocument.Load.YResolution = 100 
 
   Dim options As New LoadDocumentOptions() 
   Using document As Leadtools.Document.LEADDocument = DocumentFactory.LoadFromFile(Path.Combine(ImagesPath.Path, "Leadtools.pdf"), options) 
      For Each page As Leadtools.Document.DocumentPage In document.Pages 
         Console.WriteLine("Page (" & page.PageNumber & ") - Resolution: " & page.Resolution) 
      Next page 
   End Using 
End Sub 
Requirements
Target Platforms
Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

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