rtesseract 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -5,14 +5,14 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "rtesseract"
8
- gem.version = '0.0.3'
8
+ gem.version = '0.0.4'
9
9
  gem.summary = "Ruby library for working with the Tesseract OCR."
10
10
  gem.description = "Ruby library for working with the Tesseract OCR."
11
11
  gem.email = "dannnylo@gmail.com"
12
12
  gem.homepage = "http://github.com/dannnylo/rtesseract"
13
13
  gem.authors = ["Danilo Jeremias da Silva"]
14
14
  gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
15
- gem.add_runtime_dependency "rmagick", '>= 2.13.1'
15
+ gem.add_runtime_dependency "rmagick", '>= 2.10.1'
16
16
  end
17
17
  Jeweler::GemcutterTasks.new
18
18
  rescue LoadError
data/lib/rtesseract.rb CHANGED
@@ -3,7 +3,7 @@ require "pathname"
3
3
  require "tempfile"
4
4
 
5
5
  class RTesseract
6
- VERSION = '0.0.3'
6
+ VERSION = '0.0.4'
7
7
  attr_accessor :options
8
8
  attr_writer :lang
9
9
 
@@ -13,6 +13,7 @@ class RTesseract
13
13
  @lang = options.delete(:lang) || options.delete("lang") || ""
14
14
  @options = options
15
15
  @value = ""
16
+ @x,@y,@w,@h = []
16
17
  end
17
18
 
18
19
  def source= src
@@ -27,11 +28,18 @@ class RTesseract
27
28
  #Convert image to tiff
28
29
  def image_to_tiff
29
30
  tmp_file = Pathname.new(Dir::tmpdir).join("#{@source.basename}.tif").to_s
30
- cat = Magick::ImageList.new @source.to_s
31
+ cat = Magick::Image.read(@source.to_s).first
32
+ cat.crop!(@x, @y, @w, @h) unless [@x,@y,@w,@h].compact == []
31
33
  cat.write tmp_file.to_s
32
34
  return tmp_file
33
35
  end
34
36
 
37
+ #Crop image to convert
38
+ def crop!(x,y,width,height)
39
+ @x, @y, @w, @h = x, y, width, height
40
+ self
41
+ end
42
+
35
43
  #Remove files
36
44
  def remove_file(files=[])
37
45
  files.each do |file|
@@ -74,14 +82,17 @@ class RTesseract
74
82
  end
75
83
 
76
84
  def config_file
77
- #TODO: create the config
85
+ return "" if @options == {}
86
+ conf = Tempfile.new("config")
87
+ conf.write(config)
88
+ conf.path
78
89
  end
79
90
 
80
91
  #Convert image to string
81
92
  def convert
82
93
  tmp_file = Pathname.new(Dir::tmpdir).join("#{@source.basename}")
83
94
  tmp_image = image_to_tiff
84
- `#{@command} #{tmp_image} #{tmp_file.to_s} #{lang}`
95
+ `#{@command} #{tmp_image} #{tmp_file.to_s} #{lang} #{config_file}`
85
96
  @value = File.read("#{tmp_file.to_s}.txt").to_s
86
97
  remove_file([tmp_image,"#{tmp_file.to_s}.txt"])
87
98
  rescue
data/rtesseract.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rtesseract}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Danilo Jeremias da Silva"]
12
- s.date = %q{2010-10-11}
12
+ s.date = %q{2010-11-04}
13
13
  s.description = %q{Ruby library for working with the Tesseract OCR.}
14
14
  s.email = %q{dannnylo@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -48,14 +48,14 @@ Gem::Specification.new do |s|
48
48
 
49
49
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
50
  s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
51
- s.add_runtime_dependency(%q<rmagick>, [">= 2.13.1"])
51
+ s.add_runtime_dependency(%q<rmagick>, [">= 2.10.1"])
52
52
  else
53
53
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
54
- s.add_dependency(%q<rmagick>, [">= 2.13.1"])
54
+ s.add_dependency(%q<rmagick>, [">= 2.10.1"])
55
55
  end
56
56
  else
57
57
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
58
- s.add_dependency(%q<rmagick>, [">= 2.13.1"])
58
+ s.add_dependency(%q<rmagick>, [">= 2.10.1"])
59
59
  end
60
60
  end
61
61
 
@@ -56,6 +56,14 @@ class TestRtesseract < Test::Unit::TestCase
56
56
  assert_equal RTesseract.new(@image_tiff,{:chop_enable=>0,:enable_assoc=>0,:display_text=>0}).config , "chop_enable 0\nenable_assoc 0\ndisplay_text 0"
57
57
  assert_equal RTesseract.new(@image_tiff,{:chop_enable=>0}).config , "chop_enable 0"
58
58
  assert_equal RTesseract.new(@image_tiff,{:enable_assoc=>0,:chop_enable=>0}).config , "chop_enable 0\nenable_assoc 0"
59
+ assert_equal RTesseract.new(@image_tiff,{:chop_enable=>0}).to_s_without_spaces , "43ZZ"
60
+ end
61
+
62
+ should "crop image" do
63
+ assert_equal RTesseract.new(@image_tiff).crop!(140,10,36,40).to_s_without_spaces, "4"
64
+ assert_equal RTesseract.new(@image_tiff).crop!(180,10,36,40).to_s_without_spaces, "3"
65
+ assert_equal RTesseract.new(@image_tiff).crop!(200,10,36,40).to_s_without_spaces, "Z"
66
+ assert_equal RTesseract.new(@image_tiff).crop!(220,10,30,40).to_s_without_spaces, "Z"
59
67
  end
60
68
  end
61
69
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtesseract
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Danilo Jeremias da Silva
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-11 00:00:00 -03:00
18
+ date: 2010-11-04 00:00:00 -02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -40,12 +40,12 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- hash: 57
43
+ hash: 37
44
44
  segments:
45
45
  - 2
46
- - 13
46
+ - 10
47
47
  - 1
48
- version: 2.13.1
48
+ version: 2.10.1
49
49
  type: :runtime
50
50
  version_requirements: *id002
51
51
  description: Ruby library for working with the Tesseract OCR.