LEADTOOLS OCR (Leadtools.Forms.Ocr assembly)
LEAD Technologies, Inc

ExportPages(Int32,Int32) Method

Example 





The zero-based index of the first page to export.
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.
Export one or more pages at the specified index to a multi-page Leadtools.RasterImage object. .NET support WinRT support
Syntax
RasterImage ExportPages( 
   int firstPageIndex,
   int lastPageIndex
)
'Declaration
 
Overloads Function ExportPages( _
   ByVal firstPageIndex As Integer, _
   ByVal lastPageIndex As Integer _
) As RasterImage
'Usage
 
Dim instance As IOcrPageCollection
Dim firstPageIndex As Integer
Dim lastPageIndex As Integer
Dim value As RasterImage
 
value = instance.ExportPages(firstPageIndex, lastPageIndex)
RasterImage ExportPages( 
   int firstPageIndex,
   int lastPageIndex
)
function Leadtools.Forms.Ocr.IOcrPageCollection.ExportPages(Int32,Int32)( 
   firstPageIndex ,
   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 Leadtools.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 Leadtools.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 Leadtools.RasterImage object will need to be disposed.

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

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

Example
Copy CodeCopy Code  
Public Sub ExportPagesToRasterImageExample()
      Dim imagesPath As String = LEAD_VARS.ImagesDir
      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.Plus, 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, Nothing)

         ' 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(imagesPath, 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"
End Class
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.Plus, 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, null);

         // 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";
}
[TestMethod]
public async Task ExportPagesToRasterImageExample()
{
   string tifFileName = "OcrMultiPage.tif";
   RasterCodecs codecs = new RasterCodecs();

   // Create an instance of the engine
   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, 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, String.Empty, Tools.OcrEnginePath);

   // Create an OCR document
   IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument();

   // Loop through the images, add them to the document
   for(int i = 0; i < 4; i++)
   {
      string pageFileName = string.Format(@"Assets\Ocr{0}.tif", i + 1);
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(pageFileName);
      using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
         ocrDocument.Pages.AddPage(image, null);
   }

   Debug.WriteLine("OCR Document contains {0} pages", ocrDocument.Pages.Count);

   // Export the pages from index 1 to 3 to a RasterImage object
   RasterImage exportedImage = ocrDocument.Pages.ExportPages(1, 3);

   Debug.WriteLine("Image contains {0} pages", exportedImage.PageCount);

   // Save this image to multi-page TIF file
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(tifFileName);
   await codecs.SaveAsync(exportedImage, LeadStreamFactory.Create(saveFile), RasterImageFormat.Tif, 1, 1, -1, 1, CodecsSavePageMode.Overwrite);

   // Shutdown the engine
   ocrEngine.Shutdown();

   codecs.Dispose();
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

IOcrPageCollection Interface
IOcrPageCollection Members
Overload List
OcrEngineManager Class
OcrEngineType Enumeration
IOcrPage Interface
Programming with the LEADTOOLS .NET OCR

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

ExportPages(Int32,Int32) requires an OCR module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features