←Select platform

ExportPages(int,int) Method

Summary

Export one or more pages at the specified index to a multipage RasterImage object.

Syntax
C#
VB
Objective-C
C++
Java
public RasterImage ExportPages( 
   int firstPageIndex, 
   int lastPageIndex 
) 
Overloads Function ExportPages( _ 
   ByVal firstPageIndex As Integer, _ 
   ByVal lastPageIndex As Integer _ 
) As RasterImage 
- (nullable LTRasterImage *)exportPagesInRange:(NSRange)range 
                                         error:(NSError **)error 
public RasterImage exportPages(int firstPageIndex, 
                               int lastPageIndex) 
RasterImage^ ExportPages(  
   int firstPageIndex, 
   int 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#
VB
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, false)) 
   { 
      // 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:\Users\Public\Documents\LEADTOOLS Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Ocr 
Imports Leadtools.Document.Writer 
Imports Leadtools.Forms 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub ExportPagesToRasterImageExample() 
   Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "OcrMultiPage.tif") 
 
   Dim codecs As New RasterCodecs() 
 
   ' Create an instance of the engine 
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, False) 
      ' 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, Nothing, Nothing, LEAD_VARS.OcrLEADRuntimeDir) 
 
      ' Create an OCR document 
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument() 
         ' Loop through the images, add them to the document 
         For i As Integer = 0 To 3 
            Dim pageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, String.Format("Ocr{0}.tif", i + 1)) 
            ocrDocument.Pages.AddPage(pageFileName, Nothing) 
         Next 
 
         Console.WriteLine("OCR Document contains {0} pages", ocrDocument.Pages.Count) 
 
         ' Export the pages from index 1 to 3 to a RasterImage object 
         Dim image As RasterImage = 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) 
      End Using 
 
      ' Shutdown the engine 
      ' Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown() 
   End Using 
 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
   Public Const OcrLEADRuntimeDir As String = "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime" 
End Class 

Requirements

Target Platforms

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

Leadtools.Ocr Assembly