ruby_docx_beta 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99ccdd54f179f199b1f41478c7b18506f19d71bb
4
- data.tar.gz: 5c432614e8686204e10928e92561b95d3ebe8fbc
3
+ metadata.gz: a703b05a69c535820ab85d3ddda3d061581d0157
4
+ data.tar.gz: a1a0b4fbfa7bba150ca63852ac5be2ce7cc0eae4
5
5
  SHA512:
6
- metadata.gz: df3ba0b3e0b12a9af5fba10a4e979d4cfa42b07a7b064863cbfd30bcf0431fd4c93c4eb648ea7093021e61942f78de98a3345789c665d53a5e06e75a2f6025ba
7
- data.tar.gz: 13fc1175e4cf8b13245baee55bad10a95e83eec2a2946c43befe3a39d56d79f61421197f9e7785b042b3e19d13deec6e7393fe8e99659cd4805d12aa55f30475
6
+ metadata.gz: 7d3d433f41f4fe9e59ef36a864f13dc687f8f42b5033563336a62eba7730cdc921a175dd289c56f09cf4c0129739c40ab503895726572db7fa69b0a3a6571d0b
7
+ data.tar.gz: f159855b5215e38bf3e5685a627ca6933a2238e00a0e38e8cc5732cc44536e410ba7cc7f7ad6b63b05e51de823a6b615318995146a7ec527ac82d9a5ebf8a418
@@ -1,5 +1,6 @@
1
1
  require 'texmath'
2
2
  require 'calculus'
3
+ require "image_size"
3
4
 
4
5
  module RubyDocx::Elements
5
6
  class Equation < Element
@@ -31,6 +32,25 @@ module RubyDocx::Elements
31
32
  File.read(@path)
32
33
  end
33
34
 
35
+ def size
36
+ return @size if @size
37
+
38
+ sz = ImageSize.new(self.data)
39
+
40
+ @size = [sz.width/7.2, sz.height/7.2]
41
+ rescue
42
+ nil
43
+ end
44
+
45
+ def style
46
+ if self.size
47
+ "width: #{self.size[0]}px; height: #{self.size[0]}px;"
48
+ else
49
+ ""
50
+ end
51
+ end
52
+
53
+
34
54
  def data
35
55
  self.to_png
36
56
  end
@@ -51,9 +71,9 @@ module RubyDocx::Elements
51
71
 
52
72
  def to_html
53
73
  if @link
54
- "<img src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='height: 13px;' />"
74
+ "<img class=\"Wirisformula\" role='math' src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='#{self.style}' />"
55
75
  else
56
- "<img src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='height: 13px;' />"
76
+ "<img class=\"Wirisformula\" role='math' src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='#{self.style}' />"
57
77
  end
58
78
  end
59
79
 
@@ -26,14 +26,14 @@ module RubyDocx::Elements
26
26
  attr_accessor :path, :zip, :link
27
27
  attr_accessor :image_path
28
28
 
29
- def style
30
- element = @node.xpath(".//v:shape").first
31
- if element && element.attributes.keys.index("style")
32
- element.attributes["style"].value
33
- else
34
- nil
35
- end
36
- end
29
+ # def style
30
+ # element = @node.xpath(".//v:shape").first
31
+ # if element && element.attributes.keys.index("style")
32
+ # element.attributes["style"].value
33
+ # else
34
+ # nil
35
+ # end
36
+ # end
37
37
 
38
38
  def relation_id
39
39
  element = @node.xpath(".//o:OLEObject").first
@@ -70,6 +70,24 @@ module RubyDocx::Elements
70
70
  "data:image/png;base64,#{Base64.strict_encode64(self.to_png)}"
71
71
  end
72
72
 
73
+ def size
74
+ return @size if @size
75
+
76
+ sz = ImageSize.new(self.data)
77
+
78
+ @size = [sz.width/7.2, sz.height/7.2]
79
+ rescue
80
+ nil
81
+ end
82
+
83
+ def style
84
+ if self.size
85
+ "width: #{self.size[0]}px; height: #{self.size[0]}px;"
86
+ else
87
+ nil
88
+ end
89
+ end
90
+
73
91
  def save(path)
74
92
  file = File.new(path, "wb")
75
93
  file.write(self.to_png)
@@ -83,16 +101,16 @@ module RubyDocx::Elements
83
101
  def to_html
84
102
  if self.style
85
103
  if @link
86
- "<img src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='#{self.style}' />"
104
+ "<img class=\"Wirisformula\" role='math' src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='#{self.style}' />"
87
105
  else
88
- "<img src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='#{self.style}' />"
106
+ "<img class=\"Wirisformula\" role='math' src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='#{self.style}' />"
89
107
  end
90
108
 
91
109
  else
92
110
  if @link
93
- "<img src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='height: 13px;' />"
111
+ "<img class=\"Wirisformula\" role='math' src='#{@link}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='height: 13px;' />"
94
112
  else
95
- "<img src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml}\" style='height: 13px;' />"
113
+ "<img class=\"Wirisformula\" role='math' src='#{self.base64_data}' data-latex=\"#{self.to_latex}\" data-mathml=\"#{self.to_mathml.gsub("\n", "").gsub("<", "«").gsub(">", "»").gsub("\"", "¨")}\" style='height: 13px;' />"
96
114
  end
97
115
  end
98
116
 
@@ -1,3 +1,3 @@
1
1
  module RubyDocx
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
data/ruby_docx.gemspec CHANGED
@@ -37,5 +37,6 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'calculus'
38
38
  spec.add_dependency 'mathtype'
39
39
  spec.add_dependency 'pry'
40
+ spec.add_dependency 'image_size'
40
41
  spec.add_dependency 'mathtype_to_mathml'
41
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_docx_beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joey Lin
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: image_size
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: mathtype_to_mathml
141
155
  requirement: !ruby/object:Gem::Requirement