batik 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/batik.rb +116 -0
  2. metadata +45 -0
@@ -0,0 +1,116 @@
1
+ ## == simple wrapper for batik (svg rasterizer) ==
2
+ ##
3
+ ## by m. <matiasbaruchinsaurralde@gmail.com>
4
+
5
+ module Batik
6
+
7
+ JAVA_HOME = '/opt/java/jre'
8
+
9
+ BATIK_HOME = '/opt/batik'
10
+
11
+ def self.set_java_home(path); @m_java_home = path; end
12
+
13
+ def self.set_batik_home(path); @m_batik_home = path; end
14
+
15
+ def self.rasterize(file, options)
16
+
17
+ batik = File.join(@m_java_home || JAVA_HOME, 'bin/java -jar ', @m_batik_home || BATIK_HOME, 'batik-rasterizer.jar')
18
+
19
+ command = "#{batik} "
20
+
21
+ options.each do |name, value|
22
+
23
+ case name
24
+
25
+ when :background
26
+
27
+ name = 'bg'
28
+
29
+ when :width
30
+
31
+ name = 'w'
32
+
33
+ when :height
34
+
35
+ name = 'h'
36
+
37
+ when :media
38
+
39
+ name = 'cssMedia'
40
+
41
+ when :alternatecss
42
+
43
+ name = 'cssAlternate'
44
+
45
+ when :css
46
+
47
+ name = 'cssUser'
48
+
49
+ when :destination
50
+
51
+ name = 'd'
52
+
53
+ when :language
54
+
55
+ name = 'lang'
56
+
57
+ when :font
58
+
59
+ name = 'font-family'
60
+
61
+ when :to, :m
62
+
63
+ name = 'm'
64
+
65
+ case value
66
+
67
+ when :png
68
+
69
+ value = 'image/png'
70
+
71
+ when :jpeg, :jpg
72
+
73
+ value = 'image/jpeg'
74
+
75
+ when :tiff
76
+
77
+ value = 'image/tiff'
78
+
79
+ when :pdf
80
+
81
+ value = 'application/pdf'
82
+
83
+ end
84
+
85
+ when :area, :a
86
+
87
+ name = 'a'
88
+
89
+ value = value.join(',')
90
+
91
+ when :quality
92
+
93
+ name = 'q'
94
+
95
+ when :validate, :onload, :snapshot_time
96
+
97
+ value = nil
98
+ end
99
+
100
+ command += " -#{name} #{value}"
101
+
102
+ end
103
+
104
+ command += " #{file}"
105
+
106
+ system(command)
107
+ end
108
+ end
109
+
110
+ # usage:
111
+ # require 'batik'
112
+ # Batik.rasterize 'test.svg', :to => :jpg, :css => 'default.css'
113
+ #
114
+ # setting java/batik paths:
115
+ # Batik.set_java_home = '/usr/lib/java'
116
+ # Batik.set_batik_home = '/usr/local/batik'
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: batik
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Matias Insaurralde
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-05 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: simple wrapper for batik's svg rasterizer
15
+ email: matiasbaruchinsaurralde@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/batik.rb
21
+ homepage: http://batik.rubyforge.org/
22
+ licenses: []
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 1.8.23
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: wrapper for batik's svg rasterizer
45
+ test_files: []