You can see that OCR in Java is quite rare thing, and this is quite explainable:
http://en.wikipedia.org/wiki/List_of_optical_character_recognition_software[
^].
The only thing I ever saw is Java OCR, never tried it. Please see:
http://sourceforge.net/projects/javaocr/[
^].
In principle, its possible to use non-Java software written for a native platform in Java; for example:
http://www.ehow.com/how_12210679_use-tesseract-ocr-java.html[
^].
Unfortunately, I must warn you: I never found any Open-Source OCR solutions which would be good enough. There are few CodeProject solutions I like, but, to best of knowledge, they are all incomplete, would need serious amount of work to make a working application out of them, and they are for .NET, not Java.
[EDIT]
In response to a follow-up question:
Please see the CodeProject articles:
Neural Network OCR[
^],
Creating Optical Character Recognition (OCR) applications using Neural Networks[
^],
Neural Network Classifier[
^],
A C# Project in Optical Character Recognition (OCR) Using Chain Code[
^],
Unicode Optical Character Recognition[
^],
Hebb neural network[
^],
Backpropagation Artificial Neural Network in C++[
^],
OCR Line Detection[
^].
I have to warn you: some of these works are very good, much better compared to the quality I complained about above, but none of these works is completed into a ready-to-use application. They all require considerable amount of work to complete to such level.
Maybe there are newer projects I'm not familiar with; so it would not hurt if you do your own search in CodeProject and elsewhere. Please, if you find something good, please reply in the comment to this answer.
—SA