LEADTOOLS WCF OCR (Leadtools.Services.Forms.DataContracts assembly)
LEAD Technologies, Inc

Files Property

Example 





Gets or sets a list of additional files that need to be created by the user.
Syntax
[DataMemberAttribute(Name="Files", IsRequired=true)]
public DocumentFiles Files {get; set;}
'Declaration
 
<DataMemberAttribute(Name="Files", IsRequired=True)>
Public Property Files As DocumentFiles
'Usage
 
Dim instance As RecognizeResponse
Dim value As DocumentFiles
 
instance.Files = value
 
value = instance.Files
[DataMemberAttribute(Name="Files", IsRequired=true)]
public DocumentFiles Files {get; set;}
DataMemberAttribute(Name="Files", IsRequired=)
 get_Files();
set_Files(value);
[DataMemberAttribute(Name="Files", IsRequired=true)]
public:
property DocumentFiles^ Files {
   DocumentFiles^ get();
   void set (    DocumentFiles^ value);
}

Property Value

A DocumentFiles object that contains a list of additional files that need to be created by the user.
Remarks
You need to go through this list and write each file using the DocumentFileInfo.FileName and DocumentFileInfo.FileData properties
Example
 
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
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";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RecognizeResponse Class
RecognizeResponse Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

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