I tried 3 OCR libraries for Java. Guess which one wins. Tesseract, Asprise, Google Could Vision.

I had a work where I had to use an OCR library and they said that I can use anything. So I started to look for existing popular OCR libraries and I found:

Tesseract

Asprise

Google Cloud Vision

So I wanted to test it. I thought that the Google cloud vision will be the winner but anyway…I tested those 3.

The specification was to detect all the text from the document and create a single string from the texts. We had .pdf files so I wanted to detect the texts on the raw files but we converted to .png too (worst case scenario… 😀 ).

Tesseract was pretty good when the document was perfectly straight and visible.

Asprise…Nothing personal but I don’t like it and it is not as good as the other 2.

Google is the best (suprise 😉 ). The only problem with it is that we can only detect text on image files, so we need to convert the pdf to png.

I am lazy so for that project Cloud vision is perfect but If I wanted to make an individual project or a project on low budget I would definitely choose Tesseract. If the image is not straight (or this like that…) than Image Processing is the solution. I wrote about image straightening here. And after that we can use it and it can detect almost any language.

The results after a run

I tested the libraries on this pdf and on this image (converted from the pdf)

Tesseract with image:

, . . Szamla/Invozce (Minta, ) Az eredeti bizonylat másolata, csak tájékoztatásra! Sorszám/lnvoice No. 287/2008/V Szállító/ Sold by Vev /Client Minta Kft Némedi László 1022 Budapest Budapest Törökvész u. 30/a Szent I. u. 34. 1200 Fizetési mód/ Teljesítés id pontja/ Számla kelte/ Esedékesseg/ Method of payment Date of fulfilment Date of invoice Due Készpénz/ Cash 2008. 10. 17. 2008. 10. 17. 2008. 10. 17. Megnevezés/ VTSZ/ SZJ/ Mennyiség/ Mee/ Egységár/ Nettó/ Áfa %/ Áfaérték/ Bruttó/ Description VTSZ/ SZJ Nr. Amount Unit Unit price Net VAT % Am. of VAT Gross Minta termék 10db 50 EUR 500 EUR 20% 100 EUR 600 EUR 20% 500 EUR 100 EUR 26 200 Ft 600 EUR Összesen/ Total 500 EUR 100 EUR 26 200 Ft 600 EUR Fizetend végösszeg/ Total: 600 EUR azaz Hatszáz Euró. (Árfolyam/Exchange rate: 262,0000 Ft/EUR) Köszönjük a vásárlást! Ez a számla a Kulcs-Solt Számítástechnika Zrt. rendszerével készült http://www.kulcs-solt.hu This invoice was prepared using the program ol Key-Solt Software Co. http://www.kulcs-solt.hu A számla a 47/2007. (Xll.29.) PM rendeletnek megfelel. The invoice is in compliance with the PM Decree 47/2007. (Xll.29.).

Tesseract with pdf:

l . . Szamla/Invozce ( Minta ) Az eredeti bizonylat másolata, csak tájékoztatásra! Sorszám/lnvoice No. 287/2008/V Szállító/ Solcl by Vevő/ Client Minta Kft Némedi László 1022 Budapest Budapest Törökvész u. 30/a Szent I. u. 34. 1200 Fizetési mód/ Telj esítés időpontja/ Számla kelte/ Esedékesség/ Method of payment Date of fulfilment Date of invoice Due Készpénz/ Cash 2008. 10. 17. 2008. 10. 17. 2008. 10. 17. Megnevezés/ VTSZ/ SZJ/ Mennyiség/ Mee/ Egységár/ Nettó/ Áfa %/ Áfaérték/ Bruttó/ Description VTSZ/ SZJ Nr. Amount Unit Unit price Net VAT % Am. of VAT Gross Minta termék 10db 50 EUR 500 EUR 20% 100 EUR 600 EUR Áfa % / VAT % Nettó/ Net ÁFA/ VAT ÁFA/ VAT (Ft) Bruttó/ Gross 20% 500 EUR 100 EUR 26 200 Ft 600 EUR Összesen/ Total 500 EUR 100 EUR 26 200 Ft 600 EUR Fizetendő végösszeg/ Total: 600 EUR azaz Hatszáz Euró. (Árfolyam/Exchange rate: 262,0000 Ft/EUR) Köszönjük a vásárlást! Ez a számla a Kulcs-Soft Számítástechnika Zrt. rendszerével készült http://www.kulcs-soit.hu This invoice was prepared using the program of Key-Soft Software Co. http://www.kulcs-soit.hu A számla a 47/2007. (Xll.29.) PM rendeletnek megfelel. The invoice is in compliance with the PM Decree 47/2007. (Xll.29.).

Asprise with image:

Szdmla/Invoice (Minta) Az eredeti bizonylat mésolata, csak téjékoztatésra! Sorszém/Invoice No. V Szélll’té/ Sold by Minta Kft 1022 Budapest T6r6kvész u. 30/a Vev / Client Ne’medi Ldszlo’ Budapest Szent I. u. 34. 1200 ‘ Fizetési méd/ Teljesités id pontja/ Szamla kelte/ Esedékesség/ ‘ Method of payment Date of fulfilment Date of invoice Due Készpénz/ Cash 2008. 10. 17. 2008. 10. 17. 2008. 10. 17. ‘Megnevezés/ VTSZ/ SZJ/ Mennyiség/ Mee/ Egységér/ Netté/ Afa %/ Afaérték/ Brutté/ ‘ Description VTSZ/ SZJ Nr. Amount Unit Unit price Net VAT % Am. of VAT Gross 50 EUR 500 EUR 20% 100 EUR 600 EUR Minta termék 10 db Afa % / VAT % Netté/ Net AFA/ VAT AFA/ VAT (Ft) Brutté/ Gross 20% 500 EUR 100 EUR 26 200 Ft 600 EUR ésszesen/ Total 500 EUR 100 EUR 26 200 Ft 600 EUR Fizetend végésszeg/ Total: 600 EUR azaz Hatszaz Euro. (Arfolyam/Exchange rate: 262.0000 Ft/EUR) KoszonjiJk a vésérlést! Ez a szamla a Kulcs-Soft Szamitastechnika Zrt. rendszerével késziilt http://www.ku|cs-soft.hu This invoice was prepared using the program of Key-Soft Software Co. http://www.ku|cs-soft.hu A szamla a 47/2007. (X||.29.) PM rendeletnek megfelel. The invoice is in compliance with the PM Decree 47/2007. (X||.29.). Afa % / VAT % Netté/ Net AFA/ VAT AFA/ VAT (Ft) Brutté/ Gross

Asprise with pdf:

Minta Kft Ne’medi Ldszlo’ 1022 Budapest Budapest T6r6kvész u. 30/a Szent I. u. 34. 1200 KészénjUk a vésérlést!

Google Cloud Vision (only with image):

(Google cloud vision can’t process pdf files so I could only test it on the .png file)

Szamla/Invoice (Minta) Az eredeti bizonylat masolata, csak tajékoztatasra! Sorszam/Invoice No. 287/2008 V Szallitol Sold by Vev Client Minta Kft 1022 Budapest Némedi Laszlo Budapest Torok vész u. 30/a Szent I. u. 34 1200 Fizetési mod Teljesités id pontja/ Szamla kelte/ Esedékesség/ Method of payment Date of men Date of invoice Due 2008. 10. 17. Készpénz/ Cash 2008. 10. 17 2008. 1 Egységar/ Megnevezés/ VTSZI SZJ Mennyiség Mee/ Netto/ Afa Afaérték Brutto Description VTSZI SZJ Nr. Net VAT Am. of VAT Gross Amount Unit Unit price Minta termék 50 EUR 500 EUR 20% 0 db 00 EUR 600 EUR AFA/ VAT (Ft) Afa VAT Netto/ Net AFA VAT Brutto/ Gross 500 EUR 100 EUR 600 EUR 20% 26 200 Ft 600 EUR Osszesen Tota 500 EUR 26 200 Ft 100 EUR Fizetend végosszeg/ Total: 600 EUR azaz Hatszaz Euro Arfolyam/ Exchange rate 262,0000 Ft/EUR) Ez a szamla a Kulcs-Soft Sza astechnika Zrt. rendszerével kés http This invoice was prepared using the progra of Key-Soft Software Co. http://www.kulcs-soft.hu A szamla a 47/2007. (XII.29.) PM rendeletnek megfele The invoice is in compliance with the PM Decree 47/2007. (XII.29