public void SaveXml(
The .NET stream to save the XML data to.
A combination of one or more OcrXmlOutputOptions enumeration members that specify the XML generation options.
To save the output document as XML to a disk file, use IOcrDocument.SaveXml(string fileName, OcrXmlOutputOptions options) and to obtain an XML directly use IOcrDocument.SaveXml(OcrXmlOutputOptions options).
Each IOcrPage object in the Pages collection of this IOcrDocument object holds its recognition data internally. This data is used by this method to generate the final output document.
Typical OCR operation using the IOcrEngine involves starting up the engine. Creating a new IOcrDocument object using the CreateDocument method before adding the pages into it and perform either automatic or manual zoning. Once this is done, you can use the IOcrPage.Recognize method of each page to collect the recognition data and store it internally in the page. After the recognition data is collected, you use the various IOcrDocument.Save methods to save the document to its final format as well as IOcrDocument.SaveXml to save as XML.
You can also use the IOcrPage.GetText method to return the recognition data as a simple String object.
You can use IOcrDocument.SaveXml as many times as required to save the document to multiple formats. You can also continue to add and recognize pages (through the IOcrPage.Recognize method after you save the document.
For each IOcrPage that is not recognized (the user did not call Recognize and the value of the page IOcrPage.IsRecognized is still false) the IOcrDocument will insert an empty page into the final document.
To get the low level recognition data including the recognized characters and their confidence, use IOcrPage.GetRecognizedCharacters instead.
The IOcrDocument interface implements IDisposable, hence you must dispose the IOcrDocument object as soon as you are finished using it. Disposing an IOcrDocument object will free all the pages stored inside its IOcrDocument.Pages collection.
public void SaveAsXmlExample()
string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");
string xmlFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.xml");
// Create an instance of the engine
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
// Start the engine using default parameters
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
// Add this image to the document
IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);
// Recognize it
// Save the result XML to a disk file
// Only save the words not characters, if we want the characters
// we need to change the options to OcrXmlOutputOptions.Characters
// Shutdown the engine
// Note: calling Dispose will also automatically shutdown the engine if it has been started
static class LEAD_VARS
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";
Programming with the LEADTOOLS .NET OCR
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms