Choosing The Best OCR Automation Tool

The best OCR software is the one that is not just an OCR engine but also has a powerful analytics and machine learning engine to complement it. In my experience, what works best is the combination of machine learning technologies and multiple OCR engines. Different OCR engines have different strengths, some work really great on scanned documents others are good at images captured from mobile. Once you deploy data science and machine learning technologies on top of the extracted data, you land up with something that is way more potent than vanilla OCR.

Google Vision and Microsoft Cognitive Services both provide a pretty good platform for OCR. However, most OCR use cases, which are used for business process optimization and to automate business workflows are fairly nuanced and are not solved by the default available services. It is not always the case of just extracting text from the entire image or document, but requires a combination of object detection and localization in concert with character recognition to provide a meaningful analysis of the document or image being processed. There are other platforms I have worked with that also give really good results, namely:

  • Abbyy
  • Tesseract OCR SDK

Examine your requirements carefully when you are choosing your specific RPA platform.

Convert Excel To CSV In Blue Prism

  1. Make a copy of the existing ‘Save Workbook As’ action tab of the MS Excel VBO.
  2. Rename it as ‘Save Workbook As CSV’
  3. Go to the Code stage and modify the below marked in bold
  4. 6 is the numeric constant for xlCSV FileFormat.
  5.  Publish your new action
  6. From the process when you pass the ‘Filename’ Input parameter pass it with the .csv extension “c:\MyFileName.csv”
  7. After you run the process you will see the Input/Output as below

What Is Surface Automation?

Surface automation consists of image recognition algorithms, OCR, font-based text-recognition and others. It means that the robot will react to what it can/cannot find/read on/from the screen, much like a human eye would. It is a very delicate thing to use because it does not have concrete parameters that the script can use. If not configured correctly, the text recognition can misread things like a status and react accordingly (throw an exception for instance) when in reality it could have completed successfully.

Workfusion Express: no protocol:

If you are using Workfusion Express and have no problems recording or editing the different actions, but as soon as you try to play the recording it fails with no protocol there is a fix. This fix will work if you are receiving the following stacktrace: no protocol: no protocol:
Caused by: no protocol:

Go to Server profile, Manage profiles at the bottom right corner of RPA Express and check the Bot Relay URL. It should be http://localhost:15444/wd/hub 11Correct it if it is empty or incomplete.

Microsoft Flow Is Not RPA Software

I get asked this question a lot. Is Microsoft Flow a tool to build RPA applications?

RPA consists of software robots or artificial intelligence workers, where as Flow is an online workflow service that enables you to work smarter and more efficiently by automating workflows across the most common apps and services. RPA is not necessarily a workflow, rather a way to capture the rhythm of a process, distill it, and then find the means to automate it. A workflow could technically be a part of this overall RPA process, however RPA is more broad spectrum and can be responsible for things before the workflow, while it was occurring, and reactions to the output response. So, RPA is the vehicle for workflow essentially, allowing the precursor actions that trigger the workflow to be established, monitoring while the workflow is running, and performing any other trailing tasks that are required in order for the RPA process to be considered as complete.

Flow is also really only capable of primitive responses to events whereas the goal of a well built bot is to grow sporadically if possible to compensate with the multitude of outcomes that are possible. In this way the bot will become smarter, and will gradual not only define the process it is targeting, but gradually improve it. Workflows are not usually maintained in this manner because the process that they are defining is linear, and as long as the back end business process it is associated with a consistent it should not require interaction.


.NET RPA Platform Features

The accompanying are highlights you should pay special mind to when finding the correct development platform for you or your customer or yourself to utilize and make robots. The highlights recorded are in no way, shape or form the main highlights required in a RPA stage yet are probably going to be expected to address most utilize cases.

Object Manipulation

Objects are accumulations of information esteems and related source code. In older non object oriented languages every datum component was pretty much free through its named variable, related information esteems in OOP dialects can be gathered into objects. Objects frequently incorporate source code intended to control the information estimations that define itself. Objects for the most part speak to something, regularly a thing that has a real world counterpart, regardless of whether physical or esoteric. For example, your code may incorporate a dog object that has information fields or properties for the species, color, and age. Any related source code could deal with that information; a dog training strategy could modify the behavior of the animal. The information and code components inside an object are called members. A few members are hidden inside the object and can be gotten to just by the object’s source code. Different individuals are more open; any code in your application can utilize them, not only that subset of utilization code found inside the object. Any modern RPA platform will need to support custom objects in order to model in order to provide the natural translation of the real world implementation to automation.


A variable is a name given to a storage area that our programs can manipulate. Each variable in .NET has a specific type, which determines the size and layout of the variable’s memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable.