Leadtools.Services.Forms.DataContracts Requires Document/Medical product license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
DocumentFileInfo Class
See Also  Members   Example 
Leadtools.Services.Forms.DataContracts Namespace : DocumentFileInfo Class



The DocumentFileInfo class provides information for additional files generated by the Leadtools.Services.Forms.ServiceContracts.IOcrService.Recognize operation.

Syntax

Visual Basic (Declaration) 
<DataContractAttribute(Namespace="http://Leadtools.Services.Forms.DataContracts/2009/01", Name="DocumentFileInfo")>
Public Class DocumentFileInfo 
Visual Basic (Usage)Copy Code
Dim instance As DocumentFileInfo
C# 
[DataContractAttribute(Namespace="http://Leadtools.Services.Forms.DataContracts/2009/01", Name="DocumentFileInfo")]
public class DocumentFileInfo 
C++/CLI 
[DataContractAttribute(Namespace="http://Leadtools.Services.Forms.DataContracts/2009/01", Name="DocumentFileInfo")]
public ref class DocumentFileInfo 

Example

Visual BasicCopy Code
Private Sub Replace(ByVal docFileName As String, ByVal source As String, ByVal destination As String)
   ' Open a file for reading
   Dim streamReader As StreamReader
   streamReader = File.OpenText(docFileName)
   ' read the entire file into a string
   Dim contents As String = streamReader.ReadToEnd()
   streamReader.Close()

   Dim streamWriter As StreamWriter = File.CreateText(docFileName)

   streamWriter.Write(contents.Replace(source, destination))
   streamWriter.Close()
End Sub


Public Sub DocumentFilesExample()
   Dim client As OcrServiceClient = New OcrServiceClient()

   Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
   sourceBinaryData.Data = File.ReadAllBytes(LeadtoolsExamples.Common.ImagesPath.Path & "clean.tif")

   ' set the document convertion options
   Dim convertOptions As DocumentConvertOptions = New DocumentConvertOptions()

   convertOptions.Source = sourceBinaryData
   convertOptions.Destination = Nothing
   convertOptions.Format = OcrDocumentFormatType.Html
   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
      Dim outFileName As String = LeadtoolsExamples.Common.ImagesPath.Path & "clean.html"

      If TypeOf response.Destination Is RawBinaryData Then
         File.WriteAllBytes(outFileName, (TryCast(response.Destination, RawBinaryData)).Data)
         If Not response.Files Is Nothing Then
            Replace(outFileName, "Leadtools_Rename_This", Path.GetFileNameWithoutExtension(outFileName))
            Dim directory As String = Path.GetDirectoryName(outFileName) & "\" & Path.GetFileNameWithoutExtension(outFileName) & "_Dir"
            System.IO.Directory.CreateDirectory(directory)
            For Each info As DocumentFileInfo In files
               File.WriteAllBytes(directory & "\" & info.FileName, info.FileData.Data)
            Next info
         End If
      End If
   End If

   client.Close()
End Sub
C#Copy Code
private void Replace(string docFileName, string source, string destination) 

   // Open a file for reading 
   StreamReader streamReader; 
   streamReader = File.OpenText(docFileName); 
   // read the entire file into a string 
   string contents = streamReader.ReadToEnd(); 
   streamReader.Close(); 
 
   StreamWriter streamWriter = File.CreateText(docFileName); 
 
   streamWriter.Write(contents.Replace(source, destination)); 
   streamWriter.Close(); 

 
 
public void DocumentFilesExample() 

   OcrServiceClient client = new OcrServiceClient(); 
 
   RawBinaryData sourceBinaryData = new RawBinaryData(); 
   sourceBinaryData.Data = File.ReadAllBytes(LeadtoolsExamples.Common.ImagesPath.Path + "clean.tif"); 
 
   // set the document convertion options 
   DocumentConvertOptions convertOptions = new DocumentConvertOptions(); 
 
   convertOptions.Source = sourceBinaryData; 
   convertOptions.Destination = null; 
   convertOptions.Format  = OcrDocumentFormatType.Html; 
   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) 
   { 
      string outFileName = LeadtoolsExamples.Common.ImagesPath.Path + "clean.html"; 
 
      if (response.Destination is RawBinaryData) 
      { 
         File.WriteAllBytes(outFileName, (response.Destination as RawBinaryData).Data); 
         if (response.Files != null) 
         { 
            Replace(outFileName, "Leadtools_Rename_This", Path.GetFileNameWithoutExtension(outFileName)); 
            string directory = Path.GetDirectoryName(outFileName) + "\\" + Path.GetFileNameWithoutExtension(outFileName) + "_Dir"; 
            Directory.CreateDirectory(directory); 
            foreach (DocumentFileInfo info in files) 
            { 
               File.WriteAllBytes(directory + "\\" + info.FileName, info.FileData.Data); 
            } 
         } 
      } 
   } 
 
   client.Close(); 
}

Remarks

When DocumentConvertOptions.Format is set to OcrDocumentFormatType.Html32 or OcrDocumentFormatType.Html40, an additional directory will be generated. This directory will contain files necessary for the Html page:

  • Image Files
For example if the file name is "Test.Html" then a "Test_files" will be created. “Test_files” will contain the images files. The references to these files, by default will be named “Leadtools_Rename_This” in the html file. All of these references need to be renamed to match the generated files.

Inheritance Hierarchy

System.Object
   Leadtools.Services.Forms.DataContracts.DocumentFileInfo

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also

Applications developed with LEADTOOLS WCF components require runtime licenses. Server licensing is required for applications on a server. For more information, refer to: Imaging Pro/Document/Medical Features