←Select platform

Recognize(RecognizeRequest) Method

Summary

Converts an image file to a document file in the specified document format.

Syntax

C#
VB
C++
[OperationContractAttribute(Action="Recognize", 
   AsyncPattern=false, 
   IsOneWay=false, 
   IsInitiating=true, 
   IsTerminating=false)] 
[FaultContractAttribute(System.Type)] 
public RecognizeResponse Recognize( 
   RecognizeRequest request 
) 
  
<FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault,  
   Action="",  
   Name="",  
   Namespace="",  
   ProtectionLevel=ProtectionLevel.None,  
   HasProtectionLevel=False)> 
<OperationContractAttribute("Recognize")> 
Overloads Function Recognize( _ 
   ByVal request As Leadtools.Services.Forms.Servicecontracts.RecognizeRequest _ 
) As Leadtools.Services.Forms.Servicecontracts.RecognizeResponse 
[FaultContractAttribute(DetailType=Leadtools.Services.Raster.FaultContracts.RasterFault,  
   Action="",  
   Name="",  
   Namespace="",  
   ProtectionLevel=ProtectionLevel.None,  
   HasProtectionLevel=false)] 
[OperationContractAttribute("Recognize")] 
Leadtools.Services.Forms.Servicecontracts.RecognizeResponse^ Recognize(  
   Leadtools.Services.Forms.Servicecontracts.RecognizeRequest^ request 
)  

Parameters

request
A System.Runtime.Serialization.DataContractAttribute containing the data that will be used for this Recognize(recognizerequest) operation.

Return Value

A System.Runtime.Serialization.DataContractAttribute containing the document data resulting from the Recognize(recognizerequest) operation.

Remarks

This method is supported when hosting is done using WebHttpBinding. The LEADTOOLS OCR engines provide support for recognizing document zones in separate threads. This can improve the performance of the recognition process. Control the number of threads through Leadtools.Services.Forms.ServiceImplementations.dll.config by setting the value for MaximumRecognitionThreads to one of the following:

  • A value of 0 (zero) instructs LEADTOOLS to use the maximum number of threads equal to the number of cores available in the current machine.
  • A value of 1, 2, 3, 4, etc. instructs LEADTOOLS to use that maximum number of threads equal to that number.
  • A value of 1 instructs LEADTOOLS not to use multi-threading
  • Leave the value of this property at the default value of 1 in WCF applications.

Also LEADTOOLS OCR engines provide support for auto-zoning in separate threads. This can improve the performance of the recognition process. Disable and enable this option through Leadtools.Services.Forms.ServiceImplementations.dll.config by setting the value for EnableMultiThreadingZoning to one of the following:

  • use multi-threading when performing auto-zoning
  • don't use multi-threading when performing auto-zoning
  • Leave the value of this property to the default value of false in WCF applications.
Example

C#
VB
using Leadtools.Services; 
using Leadtools.Services.Forms.ServiceContracts; 
using Leadtools.Services.Forms.ServiceImplementations; 
 
public void DocumentConvertOptionsExample() 
{ 
   OcrServiceClient client = new OcrServiceClient(); 
 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif")); 
 
   // set the document convertion options 
   DocumentConvertOptions convertOptions = new DocumentConvertOptions(); 
 
   convertOptions.Source = sourceBinaryData; 
   convertOptions.Destination = null; 
   convertOptions.Format = OcrDocumentFormatType.TextAnsi; 
   convertOptions.FirstPageNumber = 1; 
   convertOptions.LastPageNumber = 1; 
   DocumentFiles files = null; 
 
   RecognizeRequest request = new RecognizeRequest(); 
   request.ConvertOptions = convertOptions; 
 
   RecognizeResponse response = client.Recognize(request); 
 
   if (response.Destination != null) 
   { 
      if (response.Destination is RawBinaryData) 
         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.txt"), (response.Destination as RawBinaryData).Data); 
   } 
 
   client.Close(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Services 
Imports Leadtools.Services.Forms.ServiceContracts 
Imports Leadtools.Services.Forms.ServiceImplementations 
 
Public Sub DocumentConvertOptionsExample() 
   Dim client As OcrServiceClient = New OcrServiceClient() 
 
   Dim sourceBinaryData As RawBinaryData = New RawBinaryData() 
   sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.tif")) 
 
   ' set the document convertion options 
   Dim convertOptions As DocumentConvertOptions = New DocumentConvertOptions() 
 
   convertOptions.Source = sourceBinaryData 
   convertOptions.Destination = Nothing 
   convertOptions.Format = OcrDocumentFormatType.TextAnsi 
   convertOptions.FirstPageNumber = 1 
   convertOptions.LastPageNumber = 1 
   Dim files As DocumentFiles = Nothing 
 
   Dim request As RecognizeRequest = New RecognizeRequest() 
   request.ConvertOptions = convertOptions 
 
   Dim response As RecognizeResponse = client.Recognize(request) 
 
   If Not response.Destination Is Nothing Then 
      If TypeOf response.Destination Is RawBinaryData Then 
         File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "clean.txt"), (TryCast(response.Destination, RawBinaryData)).Data) 
      End If 
   End If 
 
   client.Close() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.