Converts the accumulated recognition results stored in the pages of this OCR document and returns it as XML data.
string SaveXml(Leadtools.Forms.Ocr.OcrXmlOutputOptions options)
Overloads Function SaveXml( _ByVal options As Leadtools.Forms.Ocr.OcrXmlOutputOptions _) As String
string SaveXml(Leadtools.Forms.Ocr.OcrXmlOutputOptions options)
public String saveXml(int outputOptions) function Leadtools.Forms.Ocr.IOcrDocument.SaveXml(OcrXmlOutputOptions)(options)
String^ SaveXml(Leadtools.Forms.Ocr.OcrXmlOutputOptions options)
options
A combination of one or more OcrXmlOutputOptions enumeration members that specify the XML generation options.
A String object containing the XML data.
To save the output document as XML to a disk file or a .NET stream, use IOcrDocument.SaveXml(string fileName, OcrXmlOutputOptions options) and IOcrDocument.SaveXml(Stream stream, 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.
This example recognize a page then process the result XML data.
using Leadtools;using Leadtools.Codecs;using Leadtools.Forms.Ocr;using Leadtools.Forms;using Leadtools.WinForms;using Leadtools.Drawing;public void SaveAndProcessXmlExample(){string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);// Create an OCR documentusing (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()){// Add this image to the documentIOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);// Recognize itocrPage.Recognize(null);// Get the recognition data as XMLstring xml = ocrDocument.SaveXml(OcrXmlOutputOptions.None);// Process the data by showing all the wordsusing (System.IO.StringReader reader = new System.IO.StringReader(xml)){System.Xml.XPath.XPathDocument doc = new System.Xml.XPath.XPathDocument(reader);System.Xml.XPath.XPathNavigator nav = doc.CreateNavigator();// Select all the <word> elementsSystem.Xml.XPath.XPathNodeIterator iter = nav.Select(@"//word");Console.WriteLine("Word found:");while (iter.MoveNext()){Console.WriteLine(iter.Current.Value);}}}// Shutdown the engine// Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown();}}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.Forms.OcrImports Leadtools.FormsImports Leadtools.WinFormsImports Leadtools.Drawing<TestMethod>Public Sub SaveAndProcessXmlExample()Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif")' Create an instance of the engineUsing ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)' Start the engine using default parametersocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)' Create an OCR documentUsing ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()' Add this image to the documentDim ocrPage As IOcrPage = ocrDocument.Pages.AddPage(tifFileName, Nothing)' Recognize itocrPage.Recognize(Nothing)' Get the recognition data as XMLDim xml As String = ocrDocument.SaveXml(OcrXmlOutputOptions.None)' Process the data by showing all the wordsUsing reader As New System.IO.StringReader(xml)Dim doc As New System.Xml.XPath.XPathDocument(reader)Dim nav As System.Xml.XPath.XPathNavigator = doc.CreateNavigator()' Select all the <word> elementsDim iter As System.Xml.XPath.XPathNodeIterator = nav.Select("//word")Console.WriteLine("Word found:")While iter.MoveNext()Console.WriteLine(iter.Current.Value)End WhileEnd UsingEnd Using' Shutdown the engine' Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown()End UsingEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"End Class
Leadtools.Forms.DocumentWriters.DocumentFormat
|
Products |
Support |
Feedback: SaveXml(OcrXmlOutputOptions) Method - Leadtools.Forms.Ocr |
Introduction |
Help Version 19.0.2017.6.6
|

Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.