L_OcrDocument_SaveXml

Summary

Converts the cumulated recognition result stored in the pages of this OCR document to XML data and stores it in a disk file with XML options.

Syntax

#include "ltocr.h"

L_LTOCR_API L_INT EXT_FUNCTION L_OcrDocument_SaveXml(document, fileName, xmlOptions, outputOptions)

Parameters

L_OcrDocument document

Handle to the OCR document.

const L_TCHAR* fileName

The output file name to save the XML data to.

const L_OcrWriteXmlOptions* xmlOptions

Options to use when creating the XML data.

L_OcrXmlOutputOptions outputOptions

A combination of one or more OcrXmlOutputOptions enumeration members that specify the XML generation options.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

Converts the cumulated recognition result stored in the pages of this OCR document to XML data and stores it in a disk file with XML options.

Required DLLs and Libraries

See Also

Functions

Topics

Example

L_INT L_OcrDocument_SaveXmlExample() 
{ 
   BITMAPHANDLE bitmap = { 0 }; 
   L_OcrEngine ocrEngine = NULL; 
   L_OcrPage ocrPage = NULL; 
   L_OcrDocumentManager ocrDocumentManager = NULL; 
   L_OcrDocument ocrDocument = NULL; 
 
   // Create an instance of the engine 
   L_INT retCode = L_OcrEngineManager_CreateEngine(L_OcrEngineType_LEAD, &ocrEngine); 
   if(retCode != SUCCESS) 
      return retCode; 
 
   // Start the engine using default parameters 
   L_OcrEngine_Startup(ocrEngine, NULL, OCR_LEAD_RUNTIME_DIR); 
 
   // Load an image to process 
   L_LoadBitmap(MAKE_IMAGE_PATH(L_TEXT("Ocr1.tif")), &bitmap, sizeof(BITMAPHANDLE), 0, ORDER_RGB, NULL, NULL); 
 
   // Add the image to an OCR page 
   L_OcrPage_FromBitmap(ocrEngine, &ocrPage, &bitmap, L_OcrBitmapSharingMode_AutoFree, NULL, NULL); 
 
   // Transfer ownership to the OCR page 
   bitmap.Flags.Allocated = 0; 
 
   // Recognize it 
   L_OcrPage_Recognize(ocrPage, NULL, NULL); 
 
   // Create an OCR document 
   L_OcrEngine_GetDocumentManager(ocrEngine, &ocrDocumentManager); 
   //L_OcrDocumentManager_CreateDocument(ocrDocumentManager, &ocrDocument, L_OcrCreateDocumentOptions_AutoDeleteFile, NULL); 
   L_OcrDocumentManager_CreateDocument(ocrDocumentManager, &ocrDocument, L_OcrCreateDocumentOptions_InMemory, NULL); 
 
   // In Document File Mode, add OcrPage to OcrDocument after recognition 
   L_OcrDocument_AddPage(ocrDocument, ocrPage); 
 
   // Done with this, so we can dispose of it. 
   L_OcrPage_Destroy(ocrPage); 
   ocrPage = 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 
   L_OcrWriteXmlOptions ocrWriteXmlOptions; 
   ocrWriteXmlOptions.StructSize = sizeof(L_OcrWriteXmlOptions); 
   ocrWriteXmlOptions.Encoding = L_OcrXmlEncoding_UTF8; 
   ocrWriteXmlOptions.Formatted = true; 
   wsprintf(ocrWriteXmlOptions.Indent, TEXT("   ")); 
 
   retCode = L_OcrDocument_SaveXml(ocrDocument, MAKE_IMAGE_PATH(L_TEXT("Ocr1.xml")), &ocrWriteXmlOptions, L_OcrXmlOutputOptions_None); 
 
   //CLEANUP 
   if(bitmap.Flags.Allocated) 
      L_FreeBitmap(&bitmap); 
 
   if(ocrPage != NULL) 
      L_OcrPage_Destroy(ocrPage); 
 
   if(ocrDocument != NULL) 
      L_OcrDocument_Destroy(ocrDocument); 
 
   if(ocrEngine != NULL) 
      L_OcrEngine_Destroy(ocrEngine); 
 
   return SUCCESS; 
} 
Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS OCR Module - LEAD Engine C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.