Error processing SSI file
LEADTOOLS OCR (Leadtools.Forms.Ocr assembly)

Show in webframe

SaveXml(String,OcrWriteXmlOptions,OcrXmlOutputOptions) Method








The output file name to save the XML data to.
Options to use when creating the XML data.
A combination of one or more OcrXmlOutputOptions enumeration members that specify the XML generation options.
Converts the accumulated recognition results stored in the pages of this OCR document to XML data and stores it in a disk file with XML options.
Syntax
'Declaration
 
Overloads Sub SaveXml( _
   ByVal fileName As String, _
   ByVal xmlOptions As OcrWriteXmlOptions, _
   ByVal outputOptions As OcrXmlOutputOptions _
) 
'Usage
 
Dim instance As IOcrDocument
Dim fileName As String
Dim xmlOptions As OcrWriteXmlOptions
Dim outputOptions As OcrXmlOutputOptions
 
instance.SaveXml(fileName, xmlOptions, outputOptions)
- (void)saveXmlToFileName:(NSString *)fileName 
          xmlWriteOptions:(nullable LTOcrWriteXmlOptions *)xmlWriteOptions 
            outputOptions:(LTOcrXmlOutputOptions)outputOptions 
                    error:(NSError **)error
            
public void saveXml(String fileName,
                    OcrWriteXmlOptions xmlOptions,
                    int outputOptions)
            
function Leadtools.Forms.Ocr.IOcrDocument.SaveXml(String,OcrWriteXmlOptions,OcrXmlOutputOptions)( 
   fileName ,
   xmlOptions ,
   outputOptions 
)

Parameters

fileName
The output file name to save the XML data to.
xmlOptions
Options to use when creating the XML data.
outputOptions
A combination of one or more OcrXmlOutputOptions enumeration members that specify the XML generation options.
Remarks

To save the output document as XML to a .NET stream, use IOcrDocument.SaveXml(Stream stream, 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.

Example

This example will save the recognition data as XML.

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.Ocr
Imports Leadtools.Forms
Imports Leadtools.WinForms
Imports Leadtools.Drawing

<TestMethod>
Public Sub SaveAsXmlExample()
   Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif")
   Dim xmlFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.xml")
   ' Create an instance of the engine
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
      ' Start the engine using default parameters
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)

      ' Create an OCR document
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
         ' Add this image to the document
         Dim ocrPage As IOcrPage = ocrDocument.Pages.AddPage(tifFileName, Nothing)

         ' Recognize it
         ocrPage.Recognize(Nothing)

         ' 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
         ocrDocument.SaveXml(xmlFileName, OcrXmlOutputOptions.None)
      End Using

      ' Shutdown the engine
      ' Note: calling Dispose will also automatically shutdown the engine if it has been started
      ocrEngine.Shutdown()
   End Using
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms;
using Leadtools.WinForms;
using Leadtools.Drawing;

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.Advantage, false))
   {
      // Start the engine using default parameters
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);

      // 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
         ocrPage.Recognize(null);

         // 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
         ocrDocument.SaveXml(xmlFileName, OcrXmlOutputOptions.None);
      }

      // Shutdown the engine
      // Note: calling Dispose will also automatically shutdown the engine if it has been started
      ocrEngine.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";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms;

private async Task SaveAsXmlExample()
{
   string tifFileName = @"Assets\Ocr1.tif";
   string xmlFileName = "Ocr1.xml";
   // Create an instance of the engine
   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);

   // Start the engine using default parameters
   ocrEngine.Startup(null, null, String.Empty, Tools.OcrEnginePath);

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

   // Add this image to the document
   IOcrPage ocrPage = null;
   using (RasterCodecs codecs = new RasterCodecs())
   {
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(tifFileName);
      using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
         ocrPage = ocrDocument.Pages.AddPage(image, null);
   }

   // Recognize it
   ocrPage.Recognize(null);

   // 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
   StorageFile xmlFile = await Tools.AppInstallFolder.GetFileAsync(xmlFileName);
   await ocrDocument.SaveXmlAsync(xmlFile, OcrXmlOutputOptions.None);

   // Shutdown the engine
   ocrEngine.Shutdown();
}
Requirements

Target Platforms

See Also

Reference

IOcrDocument Interface
IOcrDocument Members
Overload List
Leadtools.Forms.DocumentWriters.DocumentFormat
IOcrDocumentManager Interface
IOcrDocument.Save
IOcrDocument.SaveXml
IOcrPage.Recognize
IOcrEngine Interface
OcrEngineManager Class
OcrEngineType Enumeration
Programming with the LEADTOOLS .NET OCR
Files to be Included with Your Application

Error processing SSI file
Leadtools.Forms.Ocr requires a Recognition or Document Imaging Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features