rbpdf 1.19.3 → 1.19.4
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|