How accurately can your sdk process an image of an invoice?

  • 1.8K Views
  • Last Post 14 April 2015
anonusr2001 posted this 09 April 2015

Hi,

An example of a usecase might be:

1-User takes a picture of an invoice from a mobile phone and uploads on a server

2-The OCR on the server has to quickly convert all the text from that image

3-Export it to various Db tables or columns in a spreadsheet

The invoices would be in different formats.

Can this be done?

Further questions:

How fast will the conversion be for a typical invoice?

Can you provide a sample/example of your solution doing this?

How high the quality of the image has to be? [DPI? Resolution?]

Can it be integrated with custom win/ios/android app?

How many formats can this info be exported to?

Please do note I am working on the Business Analysis side, not on the technical side.

I have already read the related question: http://forum.ocrsdk.com/questions/3961/invoice-processing-request-using-ocr-to-xml-format

Thanks.

Order By: Standard | Newest | Votes
Oksana Serdyuk posted this 10 April 2015

It is possible to implement the first two steps with the help of Cloud OCR SDK. To be exact you can upload an image to the server, recognize the text from the image and export the result to one of the available export formats using the Cloud API. For your usage scenario we would recommend to use the processImage method with the textExtraction profile. In this case you can extract all the text on a page and then process it as you need on your side, for example you can export the extracted text to various Db tables or columns in a spreadsheet.

As for your further questions:

> How fast will the conversion be for a typical invoice?

The processing time depends on the image you recognize, the settings you use and the internet connection speed. In general, the average time of the recognition of one A4 page in English is 7 seconds. Moreover Cloud OCR SDK service is scalable, so the processing speed should not be too slow even if you recognize much more documents. But the speed highly depends on the tasks from other users. Please see the Server Scalability section at our site for more information.

> Can you provide a sample/example of your solution doing this?

To help you to get started we recommend you to read our tutorial of how to work with our sevice and try the C# Sample.

> How high the quality of the image has to be? [DPI? Resolution?]

Please refer to the Best Practices section where you can find our recommendations on how to photograph documents to achieve the best recognition results.

> Can it be integrated with custom win/ios/android app?

Our service is platform-independent due to the fact it is accessible through Web API and is not running on your device. So you can develop mobile OCR app running under any OS. Take a look at our Code Samples web-page.

> How many formats can this info be exported to?

Please see the list of all export formats.

Also you will find the detailed description of API methods with all possible parameters in the Cloud OCR SDK Documentation.

anonusr2001 posted this 12 April 2015

Thank you very much for the replies, I tried commenting on this thread yesterday but for some reason it wasn't saving.

My team will do further research on these links that you have provided.

I also wanted to add that most invoices will be handwritten, would that be a problem?

Will the users need to use a specific format such as blocked letters on an invoice?

Thanks again.

Oksana Serdyuk posted this 13 April 2015

If you are going to process invoices with some handwritten fields, the processImage method is not appropriate.

Cloud OCR SDK allows to recognize a handwritten text only if the characters are written separately (so called "handprinted text"). To recognize the handprinted text you need to set up some certain recognition parameters which tell Cloud OCR SDK that the text to be recognized is handprinted. This should be done for all blocks which are to be recognized as handprinted. We would like to note that automatic layout analysis is not available for handprinted text, so the coordinates of the blocks that contain the handprinted text must be specified manually.

To extract the value of one text field on an image, you can use the processTextField method. There is a corresponding article with some details in documentation which describes how to recognize text fields. If you want to recognize a lot of small text fields on a page, we recommend to use the processFields method. It allows to specify the coordinates of each field in an XML file.

anonusr2001 posted this 14 April 2015

Thanks, we'll look into it.

I have awarded as much points as I could, apparently I can only provide 1 point at a time.

Close