I have always found OCR technology to be behind on open source systems. I've also watched the Ocropus project since its infancy. I've tried what I've heard is the best OCR engine available for Linux, Tesseract, and have found it woefully lacking for business documents. Are there any other more promising OCR implementations? What about the even more hopeful goal for interpreting handwriting? What is possible on *nix systems in this field?
Well, depends what you mean by 'business documents'.
I tested cuneiform with some business letters and I was quite astonished by its low error rate (regarding mis-recognized characters or words).
For my use case I only need the raw text for indexing purposes - I am not interested in text to layout element mapping or something like that.
And the documents are just one column.
Unfortunately, cuneiform currently (as of 1.1) has some problems:
You can disable the layout algorithm like this:
Can't really test it because it directly segfaults (using Ubuntu 11.10 packages - i.e. Tesseract 2.04):
Included with Sane is the
... OCR is more than "only character recognition". Image handling, preprocessing - page/layout analysis to find the texts, images, tables or barcodes. For the recognition, you have to deal with different fonts, sizes and languages. This is important because to get good results you have to use dictionaries and language definitions. Finally people expect more export options than text (e.g., XML, RTF, or searchable PDF). There are some commercial options for SDKs, but they are not cheap and for free.
Recently I found a CLI OCR for Linux from ABBYY. There is a free 100 page trial.
If you have a budget, I strongly recommend ABBYY FineReader Engine CLI for Linux. Our company has been using it in our web-application for a year and we plan to renew the license. Very good recognition quality, command-line interface, recognition in many languages.