DocumentConverterEmptyPageMode Enumeration (original) (raw)

Summary

Controls how empty pages are treated during the conversion.

Syntax

[SerializableAttribute()] [DataContractAttribute()] public enum DocumentConverterEmptyPageMode

public [SerializableAttribute, DataContractAttribute] enum class DocumentConverterEmptyPageMode sealed

public enum DocumentConverterEmptyPageMode 

class DocumentConverterEmptyPageMode(Enum): None = 0 Skip = 1 SkipIgnoreAnnotations = 2

Members

0 None Empty page will be added to the document and no checking is performed.
1 Skip Skip empty pages. The page is considered not empty if the annotations container for page contains items.
2 SkipIgnoreAnnotations Skip empty pages. The page is considered empty even if the annotations container for page contains items.

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Document.Writer; using Leadtools.Svg; using LeadtoolsExamples.Common; using Leadtools.Document; using Leadtools.Caching; using Leadtools.Annotations.Engine; using Leadtools.Ocr; using Leadtools.Document.Converter; using Leadtools.Annotations.Rendering; public static void Run() { var inputDocumentFile = @"C:\LEADTOOLS22\Resources\Images\EmptyPageTestInput.tif"; var outputDocumentFile1 = @"C:\LEADTOOLS22\Resources\Images\NoSkipping.tif"; var outputDocumentFile2 = @"C:\LEADTOOLS22\Resources\Images\SkippingEmptyPages.tif"; // Create a multi-page TIF file that is 4 pages with the second page empty CreateTestDocumentFile(inputDocumentFile); using (DocumentConverter documentConverter = new DocumentConverter()) { documentConverter.Diagnostics.EnableTrace = true; // Make sure the options are set to not skip empty pages documentConverter.Options.EmptyPageMode = DocumentConverterEmptyPageMode.None; // Create a job to convert the input document to the first output file and run it var jobData = DocumentConverterJobs.CreateJobData(inputDocumentFile, outputDocumentFile1, RasterImageFormat.CcittGroup4); jobData.JobName = "No skipping empty pages"; var job = documentConverter.Jobs.CreateJob(jobData); documentConverter.Jobs.RunJob(job); // Now, tell the document converter to skip empty pagess documentConverter.Options.EmptyPageMode = DocumentConverterEmptyPageMode.SkipIgnoreAnnotations; // And create a job to convert the input document to the second output file and run it jobData = DocumentConverterJobs.CreateJobData(inputDocumentFile, outputDocumentFile2, RasterImageFormat.CcittGroup4); jobData.JobName = "Skipping empty pages"; job = documentConverter.Jobs.CreateJob(jobData); documentConverter.Jobs.RunJob(job); Console.WriteLine("Finished, checking the number of pages"); // Show the number of pages in the first and second document, should report 4 and 3 using (var rasterCodecs = new RasterCodecs()) { var pageCount = rasterCodecs.GetTotalPages(outputDocumentFile1); Console.WriteLine("First job did not skip any pages and produced {0} pages, should be 4", pageCount); pageCount = rasterCodecs.GetTotalPages(outputDocumentFile2); Console.WriteLine("Second job skipped the empty pages and produced {0} pages, should be 3", pageCount); } } } private static void CreateTestDocumentFile(string fileName) { var pageTemplateFile = @"C:\LEADTOOLS22\Resources\Images\Ocr{0}.tif"; using (var rasterCodecs = new RasterCodecs()) { rasterCodecs.Options.RasterizeDocument.Load.Resolution = 300; CodecsSavePageMode savePageMode = CodecsSavePageMode.Overwrite; for (var pageNumber = 1; pageNumber <= 4; pageNumber++) { if (pageNumber != 2) { using (var rasterImage = rasterCodecs.Load(string.Format(pageTemplateFile, pageNumber), 1)) { // Add it to the output document rasterCodecs.Save(rasterImage, fileName, RasterImageFormat.CcittGroup4, 1, 1, 1, -1, savePageMode); savePageMode = CodecsSavePageMode.Append; if (pageNumber == 1) { // Save an empty page (all white) the same size as the previous page using (var emptyPage = RasterImage.Create( rasterImage.Width, rasterImage.Height, rasterImage.BitsPerPixel, rasterImage.XResolution, RasterColor.FromKnownColor(RasterKnownColor.White))) { rasterCodecs.Save(emptyPage, fileName, RasterImageFormat.CcittGroup4, 1, 1, 1, -1, savePageMode); } } } } } } }