←Select platform

ExportPages(int,int) Method

Summary
Export one or more pages at the specified index to a multipage RasterImage object.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public RasterImage ExportPages( 
   int firstPageIndex, 
   int lastPageIndex 
) 
- (nullable LTRasterImage *)exportPagesInRange:(NSRange)range 
                                         error:(NSError **)error 
public RasterImage exportPages(int firstPageIndex, 
                               int lastPageIndex) 
RasterImage^ ExportPages(  
   int firstPageIndex, 
   int lastPageIndex 
)  
def ExportPages(self,firstPageIndex,lastPageIndex): 

Parameters

firstPageIndex
The zero-based index of the first page to export.

lastPageIndex
The zero-based index of the last page to export. A value of -1 means export up to and including the last page in the OCR document.

Return Value

A RasterImage object containing a copy of the image data of the specified page or pages.

Remarks

This method copies the image data to the created RasterImage object image. Therefore, after this method returns, there is no relationship between the returned value and the IOcrPage objects inside the OCR document. The returned RasterImage object will need to be disposed.

To export a single page to a RasterImage object, use ExportPage(int pageIndex).

A short-cut to export all the pages in the OCR document to a multipage RasterImage object is ExportPages(1, -1).

This member only works with memory-based documents and will throw an exception otherwise. For more information, refer to IOcrDocumentManager.CreateDocument and Programming with the LEADTOOLS .NET OCR.

Example

This example will add a few pages to an OCR document before exporting it back and saving it to disk as a multipage TIF file.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Document.Writer; 
using Leadtools.Forms.Common; 
using Leadtools.ImageProcessing.Core; 
 
public void ExportPagesToRasterImageExample() 
{ 
   string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "OcrMultiPage.tif"); 
 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Create an instance of the engine 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
   { 
      // Since we have a RasterCodecs object, re-use it in the OCR engine. Although 
      // this demo will not use it, it is always a good practice 
      ocrEngine.Startup(codecs, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      // Create an OCR document 
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()) 
      { 
         // Loop through the images, add them to the document 
         for (int i = 0; i < 4; i++) 
         { 
            string pageFileName = Path.Combine(LEAD_VARS.ImagesDir, string.Format("Ocr{0}.tif", i + 1)); 
            ocrDocument.Pages.AddPage(pageFileName, null); 
         } 
 
         Console.WriteLine("OCR Document contains {0} pages", ocrDocument.Pages.Count); 
 
         // Export the pages from index 1 to 3 to a RasterImage object 
         RasterImage image = ocrDocument.Pages.ExportPages(1, 3); 
 
         Console.WriteLine("Image contains {0} pages", image.PageCount); 
 
         // Save this image to multi-page TIF file 
         codecs.Save(image, tifFileName, RasterImageFormat.Tif, 1, 1, -1, 1, CodecsSavePageMode.Overwrite); 
      } 
 
      // Shutdown the engine 
      // Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown(); 
   } 
 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
 
import java.io.File; 
import java.io.IOException; 
import java.net.URI; 
import java.net.URISyntaxException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.DocumentFormat; 
import leadtools.imageprocessing.core.DeskewCommand; 
import leadtools.imageprocessing.core.DeskewCommandFlags; 
import leadtools.ocr.OcrDocument; 
import leadtools.ocr.OcrEngine; 
import leadtools.ocr.OcrEngineManager; 
import leadtools.ocr.OcrEngineType; 
 
 
public void IOcrPageCollectionsExportPagesToRasterImageExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   final String LEAD_VARS_OCR_LEAD_RUNTIME_DIR = "C:\\LEADTOOLS23\\Bin\\Common\\OcrLEADRuntime"; 
   String tifFileName = combine(LEAD_VARS_IMAGES_DIR, "OcrMultiPage.tif"); 
 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Create an instance of the engine 
   OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD); 
   // Since we have a RasterCodecs object, re-use it in the OCR engine. Although 
   // this demo will not use it, it is always a good practice 
   ocrEngine.startup(codecs, null, null, LEAD_VARS_OCR_LEAD_RUNTIME_DIR); 
   assertTrue("Engine unsuccessfully started", ocrEngine.isStarted()); 
 
   // Create an OCR document 
   OcrDocument ocrDocument = ocrEngine.getDocumentManager().createDocument(); 
   // Loop through the images, add them to the document 
   for (int i = 0; i < 4; i++) { 
      String pageFileName = combine(LEAD_VARS_IMAGES_DIR, "Ocr" + (i + 1) + ".tif"); 
      RasterImage page = codecs.load(pageFileName); 
      ocrDocument.getPages().addPage(page, null); 
   } 
 
   System.out.println("OCR Document contains " + ocrDocument.getPages().size() + " pages"); 
 
   // Export the pages from index 1 to 3 to a RasterImage object 
   RasterImage image = ocrDocument.getPages().exportPages(1, 3); 
 
   System.out.println("Image contains " + image.getPageCount() + " pages"); 
 
   // Save this image to multi-page TIF file 
   codecs.save(image, tifFileName, RasterImageFormat.TIF, 1, 1, -1, 1, CodecsSavePageMode.OVERWRITE); 
   assertTrue("File unsuccessfully saved", (new File(tifFileName)).exists()); 
 
   // Shutdown the engine 
   // Note: calling Dispose will also automatically shutdown the engine if it has 
   // been started 
   ocrEngine.dispose(); 
   ocrDocument.dispose(); 
   ; 
   codecs.dispose(); 
} 
Requirements

Target Platforms

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

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