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):
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.
A RasterImage object containing a copy of the image data of the specified page or pages.
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.
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.
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();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document