OcrSpace
Simple API wrapper for OCR.Space, A awesome Free api for converting images to text. Register here for free api key.
Installation
Add this line to your application's Gemfile:
gem 'ocr_space'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ocr_space
Hosted at rubygems.org
Usage
To convert images from url
require 'ocr_space'
result = OcrSpace::FromUrl.new(apikey: "YOUR API KEY", url: "http://bit.ly/2ih9aXt")
puts result.data
=> #[{"TextOverlay"=>{"Lines"=>[], "HasOverlay"=>false, "Message"=>"Text overlay is not provided as it is not requested"}, "FileParseExitCode"=>1, "ParsedText"=>"If you want to find the secrets of the \r\nuniverse, think in terms of energy, \r\nfrequency and vibration. \r\nAZ QUOTES \r\n", "ErrorMessage"=>"", "ErrorDetails"=>""}]
puts result.text_data #Clean result
=> "If you want to find the secrets of the universe, think in terms of energy, frequency and vibration. AZ QUOTES"
To convert images from file upload
require 'ocr_space'
result = OcrSpace::FromFile.new(apikey: "YOUR API KEY", files: "./nicola_tesla.jpg")
puts result.data #Raw result
=> #{"TextOverlay"=>{"Lines"=>[], "HasOverlay"=>false, "Message"=>"Text overlay is not provided as it is not requested"}, "FileParseExitCode"=>1, "ParsedText"=>"If you want to find the secrets of the \r\nuniverse, think in terms of energy, \r\nfrequency and vibration. \r\nAZ QUOTES \r\n", "ErrorMessage"=>"", "ErrorDetails"=>""}
puts result.text_data #Clean result
=> "If you want to find the secrets of the universe, think in terms of energy, frequency and vibration. AZ QUOTES"
COMMAND LINE INTERFACE BONUS
You can run ocr_space through shell to get quick result from a image using filepath
$ ocrspace home/suyesh/nicola_tesla.jpg
=> If you want to find the secrets of the universe, think in terms of energy, frequency and vibration. AZ QUOTES
NOTE
For commandline interface to work you will have to set ENV variable 'ocr_api_key' to your apikey.
$ export ocr_api_key='YOUR API KEY'
Also if you set env variable then you don't need to include apikey in your ruby scripts. You can just do the following -
result = OcrSpace::FromFile.new(files: "./nicola_tesla.jpg") #for File based
result = OcrSpace::FromUrl.new(url: "http://bit.ly/2ih9aXt") #for URL based
Optional
You can also pass in Optional attributes
isOverlayRequired:
#[Optional] Default = False Allows you to specify if the image/pdf text overlay is required. Overlay could be #used to show the text over the image
language:
#Czech = ce; Danish = dan; Dutch = dut; English = eng; Finnish = fin; French = fre; German = ger;Hungarian=hun;
#Italian = ita; Norwegian = nor; Polish = pol; Portuguese = por; Spanish = spa; Swedish = swe; #ChineseSimplified = chs; Greek = gre; Japanese = jpn; Russian = rus; Turkish = tur; ChineseTraditional = cht; #Korean = kor