Controls how empty pages are treated during the conversion.
[SerializableAttribute()][DataContractAttribute()]public enum DocumentConverterEmptyPageMode
|
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.
|
Refer to EmptyPageMode for more information.
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 emptyCreateTestDocumentFile(inputDocumentFile);using (DocumentConverter documentConverter = new DocumentConverter()){documentConverter.Diagnostics.EnableTrace = true;// Make sure the options are set to not skip empty pagesdocumentConverter.Options.EmptyPageMode = DocumentConverterEmptyPageMode.None;// Create a job to convert the input document to the first output file and run itvar 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 pagessdocumentConverter.Options.EmptyPageMode = DocumentConverterEmptyPageMode.SkipIgnoreAnnotations;// And create a job to convert the input document to the second output file and run itjobData = 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 3using (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 documentrasterCodecs.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 pageusing (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);}}}}}}}