Leadtools.Forms.Ocr Namespace > IOcrPageCollection Interface > ExportPages Method : ExportPages(Int32,Int32) Method |
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 )
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)
.
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(); }
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