ruby_docx_beta 0.1.5 → 0.1.6

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.
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