ImageGear .NET v25.2 - Updated
Developer Guide / How to Work with... / OCR / Getting Started with ImageGear OCR / Tutorial: Create Your First OCR Project for a Console Application
In This Topic
    Tutorial: Create Your First OCR Project for a Console Application
    In This Topic

    In this tutorial, you will configure a C# or VB.NET project for a console application and use ImageGear .NET OCR capabilities to load an image, OCR and export the data to the console.

    The following tutorial refers specifically to 64-bit installations; for 32-bit installations:

    • Your project should already be set to compile to target Debug and x86, and you should have the directory: $YOURLOCALPROJ\bin\x86\Debug\.
    • Throughout these instructions, replace x64 with x86.
    • The 32-bit ImageGear binaries are found in $INSTALLDIR\Bin\x86

    Using the desired version of Visual Studio (2010 or later):

    1. Create a new "Console App (.NET Framework)" project, using C# or VB.NET, and name the project: my_first_OCR_project
    2. If you downloaded ImageGear .NET 64-bit, using the Configuration Manager, create a new project platform (if you don't have one already) for x64. Make sure your project is set to compile targeting Debug and x64. Confirm you now have $YOURLOCALPROJ\bin\x64\Debug\, and if it's not there, create it.
    3. Add references and required resources into your projects in one of the following ways:
      • Manually:
      • Copy all files (and folders) inside $INSTALLDIR\Bin\x64 to your local output bin directory in your project (i.e., $YOURLOCALPROJ\bin\x64\Debug\ ).
      • Add the following references to your project from $YOURLOCALPROJ\bin\x64\Debug\:
      • ImageGear.Core.dll
      • ImageGear.Evaluation.dll
      • ImageGear.Formats.Common.dll
      • ImageGear.Formats.SimplifiedMetadata.dll
      • ImageGear.OCR.dll
    Your output target directory (output path) should be set to $YOURLOCALPROJ\bin\x64\Debug\ 
    1. At this point all necessary assembly references and resources have been added to the project. 
      Add the following using statements to the top of the file.
      C#
      Copy Code
      using System;
      using System.IO;
      using ImageGear.Core;
      using ImageGear.Formats;
      using ImageGear.OCR;
      using ImageGear.Evaluation;
      
      VB.NET
      Copy Code
      Imports ImageGear.Core
      Imports ImageGear.Formats
      Imports ImageGear.OCR
      Imports ImageGear.Evaluation
      Imports System.IO
      
    1. Add the following code to create a private method to OCR, and export the data to the console. This code sets up licensing, initializes the ImageGear Formats assembly and initializes the OCR engine.
      C#
      Copy Code
      namespace my_first_OCR_project
      {
         class Program
         {
           public void OCRFile(string fileToBeRecognizedPath)
           {
             // Initialize the license.
             ImGearEvaluationManager.Initialize();
             ImGearEvaluationManager.Mode = ImGearEvaluationMode.Watermark;
             // Initialize the common formats.
             ImGearCommonFormats.Initialize();
             // Initialize the OCR object.
             ImGearOCR igOCR = ImGearOCR.Create();
             ImGearPage igPage;
      
      VB.NET
      Copy Code
      Module Module1
        Public Sub OCRFile(fileToOCR As String)
          ' Initialize the license.
          ImGearEvaluationManager.Initialize()
          ImGearEvaluationManager.Mode = ImGearEvaluationMode.Watermark
          ' Initialize the common formats.
          ImGearCommonFormats.Initialize()
          ' Initialize the OCR object.
          Dim igOCR As ImGearOCR = ImGearOCR.Create()
          Dim igPage As ImGearPage
      
    1. Add the following code to load the image, and set the ImGearRecPage.
      C#
      Copy Code
      using (FileStream localFile = new FileStream(fileToBeRecognizedPath, FileMode.Open, FileAccess.Read))
         igPage = ImGearFileFormats.LoadPage(localFile, 0);
      if (igPage is ImGearVectorPage)
      {
          // Rasterize vector images before performing OCR.
          igPage = (igPage as ImGearVectorPage).Rasterize(24, 300, 300);
      }
      ImGearOCRPage igOCRPage = igOCR.ImportPage((ImGearRasterPage)igPage);
      
      VB.NET
      Copy Code
      Using localFile As New FileStream(fileToOCR, FileMode.Open, FileAccess.Read)
         igPage = ImGearFileFormats.LoadPage(localFile, 0)
      End Using
      If TypeOf igPage Is ImGearVectorPage Then
          ' Rasterize vector images before performing OCR.
          igPage = DirectCast(igPage, ImGearVectorPage).Rasterize(24, 300, 300)
      End If
      Dim igOCRPage As ImGearOCRPage = igOCR.ImportPage(DirectCast(igPage, ImGearRasterPage))
      
    1. Add the following code to output the data to the console.
      C#
      Copy Code
      igOCRPage.Recognize();
      Console.Write(igOCRPage.Text);
      
      VB.NET
      Copy Code
      igOCRPage.Recognize()
      Console.Write(igOCRPage.Text)
      
    1. Add the following code to dispose the igOCR and page object.
      C#
      Copy Code
      // You must explicitly call the page/document dispose method before calling igOCR.Dispose()
         igOCRPage.Dispose();
         igOCR.Dispose();                            
      
      VB.NET
      Copy Code
      ' You must explicitly call the page/document dispose method before calling igOCR.Dispose()
       igOCRPage.Dispose()
       igOCR.Dispose()                        
      
    1. Finally, add in the Main function, the OCRFile method passing in your image, and output to the console. Replace "C:\PATHTOOCR\FILENAME.tif" with the path to your image file to recognize.
      C#
      Copy Code
      static void Main(string[] args)
        {
           Program myProgram = new Program();
           myProgram.OCRFile(@"C:\PATHTOOCR\FILENAME.tif");
         }
      
      VB.NET
      Copy Code
          Sub Main()
              OCRFile("C:\PATHTOOCR\FILENAME.tif")
           End Sub
       End Module