LEADTOOLS WCF OCR (Leadtools.Services.Forms.DataContracts assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.31
DocumentFileInfo Class
See Also  Members  
Leadtools.Services.Forms.DataContracts Namespace : DocumentFileInfo Class



The DocumentFileInfo Class is available in LEADTOOLS Document and Medical Imaging toolkits.

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

Object Model

DocumentFileInfo Class

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(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.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 = Path.Combine(LEAD_VARS.ImagesDir, "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

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
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(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.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 = Path.Combine(LEAD_VARS.ImagesDir,"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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

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 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

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