I am working on scanning bill receipt to get important data from it like restaurant name, date, total price, tax etc. But not getting any appropriate solution. Take reference from play store app name 'Receipt Bank'
-
are you sure that all restaurants have same receipt structure? In any case you need to OCR the recipe, and get text from certain positions from it. – Vladyslav Matviienko Feb 24 '17 at 07:17
-
no receipt structure is not same. Please see Receipt Bank app from play store. Same thing i have to do. – Rishabh Gupta Feb 24 '17 at 07:21
2 Answers
Similar to what other's have pointed out, you will need to use a technique called OCR (Optical Character Recognition) in order to process the receipts and convert that to usable text. There are several good libraries already out there, choosing one will just depend on your constraints (time, money, etc). I wouldn't recommend reinventing the wheel here and attempting your own OCR library.
See this answer for a more detailed list of libraries to you.
For the lazy, here are the recommendations in the link.
If you have plenty of time but zero budget - your choice is Tesseract. It is definitely the best among open source
If you have a small budget to spend and you only need run this recognition once - Cloud OCR API service would be your best choice. It is based on leading commercial grade OCR engine and offers quite affordable per-project prices. Disclaimer: I work for ABBYY
In case you will need to run this recognition as ongoing process forever, then you may think that it is economically more efficient to purchase dedicated conversion software, for example this one, it has API and can be called from Java too. But there are actually a lot of alternatives, if you are prepared to invest some budget in licensing.
Once you have the library integrated, it will be up to you to write the logic for adding the values returned by the OCR library and showing them to your user. Until you choose which OCR library to use, I cannot give you any more insight into how to do this, because it highly depends on the output format of the library.

- 1
- 1

- 861
- 7
- 11
-
-
1@RishabhGupta, there are several other options. I have colleagues who have used Tesseract. A quick Google search comes up with [this Android specific library](https://github.com/rmtheis/tess-two) for using it. – Kevin Marlow Feb 24 '17 at 09:33
if you mean scanning Barcode using Android camera? I am going to give you what I know about your question
I suggest the following improvements to process
Carete database table contains all information you want witin your bill with primary key which will be the Barcode scanned by camera
when you scan Barcode you wil actually scan the primary key for the information about bill like (restaurant name,.. etc)
Small query will get you all information you need in bill

- 2,493
- 6
- 38
- 73
-
No, i am not sccaning barcode, I am scanning receipt text. there is no any bar on receipt. – Rishabh Gupta Feb 24 '17 at 07:28
-
and what are you going to do with scaned data? are you going to store it? or pass it to pc with database? your question need to be more specific and clear – sam Feb 24 '17 at 07:31
-
storing is the secondary thing. But yes i am going to store data in database. But the issue is how to get all the data. Please see Receipt Bank app from play store, all doubt will be cleared. https://play.google.com/store/apps/details?id=com.receiptbank.android&hl=en – Rishabh Gupta Feb 24 '17 at 07:37