rbpdf 1.19.3 → 1.19.4
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 +4 -4
- data/CHANGELOG +5 -0
- data/lib/core/rmagick.rb +4 -1
- data/lib/rbpdf.rb +5 -1
- data/lib/rbpdf/version.rb +1 -1
- data/test/rbpdf_content_test.rb +1 -1
- data/test/rbpdf_image_rmagick_test.rb +54 -177
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ad5083c310d25cd904c1826bd2672b7bbb31a93
|
4
|
+
data.tar.gz: dcb1537363d38928044d3f55168381409c5f7b1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82119b8767536543d6e2cdd625bcdb48b0a7c75bc4ea92a3f2154f74731527eab42b7a1d605ee31f31b12a9bc3034599d4b5b1eeec2ce50036ea98cddeedea4d
|
7
|
+
data.tar.gz: 9c2428dbe401fb1425ee29096b09e50df64231ff9dcf8976c9bd0303dbd681bb95e8d3aecca5265ba73201647c5e39f92de4d64b83d9f1ee64570ce235b14a51
|
data/CHANGELOG
CHANGED
data/lib/core/rmagick.rb
CHANGED
@@ -46,7 +46,10 @@ module Rbpdf
|
|
46
46
|
return out
|
47
47
|
end
|
48
48
|
|
49
|
-
|
49
|
+
unless Object.const_defined?(:Magick)
|
50
|
+
Error('No RMagick: Non-PNG file is not supported.: ' + filename);
|
51
|
+
return false
|
52
|
+
end
|
50
53
|
|
51
54
|
image = Magick::ImageList.new(filename)
|
52
55
|
|
data/lib/rbpdf.rb
CHANGED
@@ -5294,6 +5294,11 @@ class RBPDF
|
|
5294
5294
|
if tempfile_plain == false
|
5295
5295
|
return false
|
5296
5296
|
end
|
5297
|
+
info=parsepng(tempfile_plain.path)
|
5298
|
+
if info['cs'] != 'DeviceRGB'
|
5299
|
+
tempfile_plain.delete
|
5300
|
+
return false
|
5301
|
+
end
|
5297
5302
|
|
5298
5303
|
tempfile_alpha = image_alpha_mask(file)
|
5299
5304
|
|
@@ -7168,7 +7173,6 @@ protected
|
|
7168
7173
|
out << ' /BaseFont /' + fontname + ''
|
7169
7174
|
out << ' /Name /F' + font['i'].to_s
|
7170
7175
|
out << ' /Encoding /' + font['enc']
|
7171
|
-
out << ' /ToUnicode /Identity-H'
|
7172
7176
|
out << ' /DescendantFonts [' + (@n + 1).to_s + ' 0 R]'
|
7173
7177
|
out << ' >>'
|
7174
7178
|
out << ' endobj'
|
data/lib/rbpdf/version.rb
CHANGED
data/test/rbpdf_content_test.rb
CHANGED
@@ -110,7 +110,7 @@ class RbpdfPageTest < Test::Unit::TestCase
|
|
110
110
|
assert_equal '370.62 391.58 340.88 408.76 308.08 414.54 c', content[6] # 2/9 circle
|
111
111
|
assert_equal '275.27 420.32 241.45 414.36 212.60 397.70 c', content[7] # 3/9 circle
|
112
112
|
assert_equal '183.75 381.05 161.67 354.74 150.28 323.44 c', content[8] # 4/9 circle
|
113
|
-
|
113
|
+
assert_match(/138.8[89] 292.13 138.8[89] 257.79 150.28 226.4[89] c/, content[9]) # 5/9 circle
|
114
114
|
assert_equal '161.67 195.18 183.75 168.87 212.60 152.22 c', content[10] # 6/9 circle
|
115
115
|
assert_equal '241.45 135.56 275.27 129.60 308.08 135.38 c', content[11] # 7/9 circle
|
116
116
|
assert_equal '340.88 141.17 370.62 158.34 392.04 183.86 c', content[12] # 8/9 circle
|
@@ -5,122 +5,48 @@
|
|
5
5
|
require 'test_helper'
|
6
6
|
|
7
7
|
class RbpdfTest < Test::Unit::TestCase
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
assert_equal 'height="89" width="240"', info[3]
|
18
|
-
assert_equal 'image/png', info['mime']
|
19
|
-
end
|
20
|
-
|
21
|
-
test "image getimagesize GIF test" do
|
22
|
-
return unless Object.const_defined?(:Magick)
|
23
|
-
|
24
|
-
pdf = RBPDF.new
|
25
|
-
pdf.add_page
|
26
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit.gif')
|
27
|
-
|
28
|
-
info = pdf.getimagesize(img_file)
|
29
|
-
assert_equal 240, info[0] # width
|
30
|
-
assert_equal 89, info[1] # height
|
31
|
-
assert_equal 'GIF', info[2] # Image Type
|
32
|
-
assert_equal 'height="89" width="240"', info[3]
|
33
|
-
assert_equal 'image/gif', info['mime']
|
34
|
-
assert_equal 3, info['channels'] # RGB
|
35
|
-
assert_equal 8, info['bits'] # depth
|
36
|
-
end
|
37
|
-
|
38
|
-
test "image getimagesize GIF alpha test" do
|
39
|
-
return unless Object.const_defined?(:Magick)
|
40
|
-
|
41
|
-
pdf = RBPDF.new
|
42
|
-
pdf.add_page
|
43
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit_alpha.gif')
|
44
|
-
|
45
|
-
info = pdf.getimagesize(img_file)
|
46
|
-
assert_equal 240, info[0] # width
|
47
|
-
assert_equal 89, info[1] # height
|
48
|
-
assert_equal 'GIF', info[2] # Image Type
|
49
|
-
assert_equal 'height="89" width="240"', info[3]
|
50
|
-
assert_equal 'image/gif', info['mime']
|
51
|
-
assert_equal 3, info['channels'] # RGB
|
52
|
-
assert_equal 8, info['bits'] # depth
|
53
|
-
end
|
8
|
+
images = {
|
9
|
+
'PNG' => {:file => 'logo_rbpdf_8bit.png', :type => 'PNG', :mime => 'image/png', :use_magick => false},
|
10
|
+
'PNG monotone' => {:file => 'logo_rbpdf_mono_rgb.png', :type => 'PNG', :mime => 'image/png', :use_magick => false},
|
11
|
+
'GIF' => {:file => 'logo_rbpdf_8bit.gif', :type => 'GIF', :mime => 'image/gif', :use_magick => true, :channels => 3, :bits => 8},
|
12
|
+
'GIF alpha' => {:file => 'logo_rbpdf_8bit_alpha.gif', :type => 'GIF', :mime => 'image/gif', :use_magick => true, :channels => 3, :bits => 8},
|
13
|
+
'JPEG RGB' => {:file => 'logo_rbpdf_8bit.jpg', :type => 'JPEG', :mime => 'image/jpeg', :use_magick => true, :channels => 3, :bits => 8},
|
14
|
+
'JPEG monotone RGB' => {:file => 'logo_rbpdf_mono_rgb.jpg', :type => 'JPEG', :mime => 'image/jpeg', :use_magick => true, :channels => 3, :bits => 8},
|
15
|
+
'JPEG monotone Gray' => {:file => 'logo_rbpdf_mono_gray.jpg', :type => 'JPEG', :mime => 'image/jpeg', :use_magick => true, :channels => 0, :bits => 8},
|
16
|
+
}
|
54
17
|
|
55
|
-
|
56
|
-
|
18
|
+
data(images)
|
19
|
+
test "image getimagesize test" do |data|
|
20
|
+
if data[:use_magick] and !Object.const_defined?(:Magick)
|
21
|
+
return
|
22
|
+
end
|
57
23
|
|
58
24
|
pdf = RBPDF.new
|
59
25
|
pdf.add_page
|
60
|
-
img_file = File.join(File.dirname(__FILE__),
|
26
|
+
img_file = File.join(File.dirname(__FILE__), data[:file])
|
61
27
|
|
62
28
|
info = pdf.getimagesize(img_file)
|
63
29
|
assert_equal 240, info[0] # width
|
64
30
|
assert_equal 89, info[1] # height
|
65
|
-
assert_equal
|
31
|
+
assert_equal data[:type], info[2] # Image Type
|
66
32
|
assert_equal 'height="89" width="240"', info[3]
|
67
|
-
assert_equal
|
68
|
-
assert_equal
|
69
|
-
assert_equal
|
33
|
+
assert_equal data[:mime], info['mime']
|
34
|
+
assert_equal data[:channels], info['channels'] if @channels # RGB
|
35
|
+
assert_equal data[:bits], info['bits'] if @bits # depth
|
70
36
|
end
|
71
37
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_mono_rgb.jpg')
|
78
|
-
|
79
|
-
info = pdf.getimagesize(img_file)
|
80
|
-
assert_equal 240, info[0] # width
|
81
|
-
assert_equal 89, info[1] # height
|
82
|
-
assert_equal 'JPEG', info[2] # Image Type
|
83
|
-
assert_equal 'height="89" width="240"', info[3]
|
84
|
-
assert_equal 'image/jpeg', info['mime']
|
85
|
-
assert_equal 3, info['channels'] # RGB
|
86
|
-
assert_equal 8, info['bits'] # depth
|
87
|
-
end
|
88
|
-
|
89
|
-
test "image getimagesize JPEG monotone Gray test" do
|
90
|
-
return unless Object.const_defined?(:Magick)
|
91
|
-
|
92
|
-
pdf = RBPDF.new
|
93
|
-
pdf.add_page
|
94
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_mono_gray.jpg')
|
95
|
-
|
96
|
-
info = pdf.getimagesize(img_file)
|
97
|
-
assert_equal 240, info[0] # width
|
98
|
-
assert_equal 89, info[1] # height
|
99
|
-
assert_equal 'JPEG', info[2] # Image Type
|
100
|
-
assert_equal 'height="89" width="240"', info[3]
|
101
|
-
assert_equal 'image/jpeg', info['mime']
|
102
|
-
assert_equal 0, info['channels'] # Gray
|
103
|
-
assert_equal 8, info['bits'] # depth
|
104
|
-
end
|
105
|
-
|
106
|
-
test "image getimagesize PNG monotone test" do
|
107
|
-
pdf = RBPDF.new
|
108
|
-
pdf.add_page
|
109
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_mono_rgb.png')
|
110
|
-
|
111
|
-
info = pdf.getimagesize(img_file)
|
112
|
-
assert_equal 240, info[0] # width
|
113
|
-
assert_equal 89, info[1] # height
|
114
|
-
assert_equal 'PNG', info[2] # Image Type
|
115
|
-
assert_equal 'height="89" width="240"', info[3]
|
116
|
-
assert_equal 'image/png', info['mime']
|
117
|
-
end
|
38
|
+
images = {
|
39
|
+
'PNG alpha' => {:file => 'png_test_alpha.png', :cs => 'DeviceRGB'},
|
40
|
+
'GIF' => {:file => 'logo_rbpdf_8bit.gif', :cs => 'Indexed'},
|
41
|
+
'GIF alpha' => {:file => 'logo_rbpdf_8bit_alpha.gif', :cs => 'Indexed'},
|
42
|
+
}
|
118
43
|
|
119
|
-
|
44
|
+
data(images)
|
45
|
+
test "imageToPNG delete test" do |data|
|
120
46
|
return unless Object.const_defined?(:Magick)
|
121
47
|
pdf = RBPDF.new
|
122
48
|
pdf.add_page
|
123
|
-
img_file = File.join(File.dirname(__FILE__),
|
49
|
+
img_file = File.join(File.dirname(__FILE__), data[:file])
|
124
50
|
|
125
51
|
tempfile = pdf.send(:imageToPNG, img_file)
|
126
52
|
assert_not_equal false, tempfile
|
@@ -129,7 +55,7 @@ class RbpdfTest < Test::Unit::TestCase
|
|
129
55
|
|
130
56
|
assert_not_equal 'pngalpha', info
|
131
57
|
assert_equal 8, info['bpc']
|
132
|
-
assert_equal
|
58
|
+
assert_equal data[:cs], info['cs']
|
133
59
|
end
|
134
60
|
|
135
61
|
test "Magick::ImageList delete GIF alpha channel test" do
|
@@ -146,38 +72,6 @@ class RbpdfTest < Test::Unit::TestCase
|
|
146
72
|
assert_equal false, img.alpha?
|
147
73
|
end
|
148
74
|
|
149
|
-
test "imageToPNG delete GIF alpha channel test" do
|
150
|
-
return unless Object.const_defined?(:Magick)
|
151
|
-
pdf = RBPDF.new
|
152
|
-
pdf.add_page
|
153
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit_alpha.gif')
|
154
|
-
|
155
|
-
tempfile = pdf.send(:imageToPNG, img_file)
|
156
|
-
assert_not_equal false, tempfile
|
157
|
-
|
158
|
-
info = pdf.send(:parsepng, tempfile.path)
|
159
|
-
|
160
|
-
assert_not_equal 'pngalpha', info
|
161
|
-
assert_equal 8, info['bpc']
|
162
|
-
assert_equal 'Indexed', info['cs']
|
163
|
-
end
|
164
|
-
|
165
|
-
test "imageToPNG delete PNG alpha channel test" do
|
166
|
-
return unless Object.const_defined?(:Magick)
|
167
|
-
pdf = RBPDF.new
|
168
|
-
pdf.add_page
|
169
|
-
img_file = File.join(File.dirname(__FILE__), 'png_test_alpha.png')
|
170
|
-
|
171
|
-
tempfile = pdf.send(:imageToPNG, img_file)
|
172
|
-
assert_not_equal false, tempfile
|
173
|
-
|
174
|
-
info = pdf.send(:parsepng, tempfile.path)
|
175
|
-
|
176
|
-
assert_not_equal 'pngalpha', info
|
177
|
-
assert_equal 8, info['bpc']
|
178
|
-
assert_equal 'DeviceRGB', info['cs']
|
179
|
-
end
|
180
|
-
|
181
75
|
test "image_alpha_mask DeviceGray test" do
|
182
76
|
return unless Object.const_defined?(:Magick)
|
183
77
|
|
@@ -198,62 +92,45 @@ class RbpdfTest < Test::Unit::TestCase
|
|
198
92
|
assert_equal 1, imgmask
|
199
93
|
end
|
200
94
|
|
201
|
-
test "ImagePngAlpha test" do
|
202
|
-
return unless Object.const_defined?(:Magick)
|
203
95
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
assert_equal true, info
|
209
|
-
end
|
96
|
+
images = {
|
97
|
+
'PNG alpha' => {:file => 'png_test_alpha.png', :info => true},
|
98
|
+
'PNG alpha Error' => {:file => 'png_test_alpha.png', :info => false, :png_alpha_error => true},
|
99
|
+
}
|
210
100
|
|
211
|
-
|
212
|
-
|
213
|
-
pdf.add_page
|
214
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit.png')
|
215
|
-
info = pdf.image(img_file, 10, 10, 100, '', '', 'https://rubygems.org/gems/rbpdf', '', false, 300)
|
216
|
-
assert_equal 1, info
|
217
|
-
end
|
218
|
-
|
219
|
-
test "Image PNG alpha test" do
|
101
|
+
data(images)
|
102
|
+
test "ImagePngAlpha test" do |data|
|
220
103
|
return unless Object.const_defined?(:Magick)
|
221
104
|
|
222
105
|
pdf = RBPDF.new
|
223
106
|
pdf.add_page
|
224
|
-
img_file = File.join(File.dirname(__FILE__),
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
test "Image GIF test" do
|
230
|
-
return unless Object.const_defined?(:Magick)
|
231
|
-
|
232
|
-
pdf = RBPDF.new
|
233
|
-
pdf.add_page
|
234
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit.gif')
|
235
|
-
info = pdf.image(img_file, 10, 10, 100, '', '', 'https://rubygems.org/gems/rbpdf', '', false, 300)
|
236
|
-
assert_equal 1, info
|
107
|
+
img_file = File.join(File.dirname(__FILE__), data[:file])
|
108
|
+
pdf.singleton_class.send(:define_method, :parsepng){|*args| {:cs => 'Indexed'}} if data[:png_alpha_error]
|
109
|
+
info = pdf.send(:ImagePngAlpha, img_file, 10, 10, 100, '', 'PNG', 'https://rubygems.org/gems/rbpdf')
|
110
|
+
assert_equal data[:info], info
|
237
111
|
end
|
238
112
|
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
end
|
113
|
+
images = {
|
114
|
+
'PNG' => {:file => 'logo_rbpdf_8bit.png', :info => 1, :use_magick => false},
|
115
|
+
'PNG alpha' => {:file => 'png_test_alpha.png', :info => true, :use_magick => true},
|
116
|
+
'PNG alpha Error' => {:file => 'png_test_alpha.png', :info => 1, :use_magick => true, :png_alpha_error => true},
|
117
|
+
'GIF' => {:file => 'logo_rbpdf_8bit.gif', :info => 1, :use_magick => true},
|
118
|
+
'GIF alpha' => {:file => 'logo_rbpdf_8bit_alpha.gif', :info => 1, :use_magick => true},
|
119
|
+
'JPEG' => {:file => 'logo_rbpdf_8bit.jpg', :info => 1, :use_magick => true},
|
120
|
+
}
|
248
121
|
|
249
|
-
|
250
|
-
|
122
|
+
data(images)
|
123
|
+
test "Image test" do |data|
|
124
|
+
if data[:use_magick] and !Object.const_defined?(:Magick)
|
125
|
+
return
|
126
|
+
end
|
251
127
|
|
252
128
|
pdf = RBPDF.new
|
253
129
|
pdf.add_page
|
254
|
-
img_file = File.join(File.dirname(__FILE__),
|
130
|
+
img_file = File.join(File.dirname(__FILE__), data[:file])
|
131
|
+
pdf.singleton_class.send(:define_method, :parsepng){|*args| {:cs => 'Indexed'}} if data[:png_alpha_error]
|
255
132
|
info = pdf.image(img_file, 10, 10, 100, '', '', 'https://rubygems.org/gems/rbpdf', '', false, 300)
|
256
|
-
assert_equal
|
133
|
+
assert_equal data[:info], info
|
257
134
|
end
|
258
135
|
|
259
136
|
test "HTML Image test" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbpdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.19.
|
4
|
+
version: 1.19.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NAITOH Jun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: htmlentities
|
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
168
|
version: '0'
|
169
169
|
requirements: []
|
170
170
|
rubyforge_project:
|
171
|
-
rubygems_version: 2.
|
171
|
+
rubygems_version: 2.2.2
|
172
172
|
signing_key:
|
173
173
|
specification_version: 4
|
174
174
|
summary: RBPDF via TCPDF.
|
@@ -211,3 +211,4 @@ test_files:
|
|
211
211
|
- test/rbpdf_viewerpreferences_test.rb
|
212
212
|
- test/rbpdf_write_test.rb
|
213
213
|
- test/test_helper.rb
|
214
|
+
has_rdoc:
|