rbpdf 1.20.0 → 1.20.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +4 -0
- data/lib/rbpdf/version.rb +1 -1
- data/rbpdf.gemspec +1 -2
- metadata +4 -90
- data/test/err_font1.rb +0 -7
- data/test/err_font2.rb +0 -8
- data/test/input.jpg +0 -0
- data/test/json: +0 -0
- data/test/logo_rbpdf_8bit .png +0 -0
- data/test/logo_rbpdf_8bit+ .png +0 -0
- data/test/logo_rbpdf_8bit.gif +0 -0
- data/test/logo_rbpdf_8bit.jpg +0 -0
- data/test/logo_rbpdf_8bit.png +0 -0
- data/test/logo_rbpdf_8bit_alpha.gif +0 -0
- data/test/logo_rbpdf_mono_gray.jpg +0 -0
- data/test/logo_rbpdf_mono_gray.png +0 -0
- data/test/logo_rbpdf_mono_rgb.jpg +0 -0
- data/test/logo_rbpdf_mono_rgb.png +0 -0
- data/test/output.png +0 -0
- data/test/png_test_alpha.png +0 -0
- data/test/png_test_msk_alpha.png +0 -0
- data/test/png_test_non_alpha.png +0 -0
- data/test/rbpdf_bidi_test.rb +0 -453
- data/test/rbpdf_bookmark_test.rb +0 -66
- data/test/rbpdf_cell_test.rb +0 -231
- data/test/rbpdf_content_test.rb +0 -213
- data/test/rbpdf_css_test.rb +0 -640
- data/test/rbpdf_dom_test.rb +0 -272
- data/test/rbpdf_examples_test.rb +0 -83
- data/test/rbpdf_font_func_test.rb +0 -45
- data/test/rbpdf_font_style_test.rb +0 -37
- data/test/rbpdf_font_test.rb +0 -308
- data/test/rbpdf_format_test.rb +0 -30
- data/test/rbpdf_func_test.rb +0 -139
- data/test/rbpdf_html_anchor_test.rb +0 -105
- data/test/rbpdf_html_func_test.rb +0 -170
- data/test/rbpdf_html_test.rb +0 -658
- data/test/rbpdf_htmlcell_test.rb +0 -60
- data/test/rbpdf_http_test.rb +0 -76
- data/test/rbpdf_image_rmagick_test.rb +0 -170
- data/test/rbpdf_image_test.rb +0 -174
- data/test/rbpdf_test.rb +0 -375
- data/test/rbpdf_transaction_test.rb +0 -203
- data/test/rbpdf_viewerpreferences_test.rb +0 -41
- data/test/rbpdf_write_test.rb +0 -229
- data/test/test.rb +0 -22
- data/test/test_helper.rb +0 -9
data/test/rbpdf_htmlcell_test.rb
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
# Copyright (c) 2011-2018 NAITOH Jun
|
2
|
-
# Released under the MIT license
|
3
|
-
# http://www.opensource.org/licenses/MIT
|
4
|
-
|
5
|
-
require 'test_helper'
|
6
|
-
|
7
|
-
class RbpdfTest < Test::Unit::TestCase
|
8
|
-
htmls = {
|
9
|
-
'Basic' => {:html => '<p>foo</p>', :line => 1,
|
10
|
-
:border => 0, :pno => 1, :no => 1},
|
11
|
-
'Page Break no border' => {:html => '<p>foo</p>', :margin => 30,
|
12
|
-
:border => 0, :pno => 2, :no => 2},
|
13
|
-
'Page Break border' => {:html => '<p>foo</p>', :margin => 30,
|
14
|
-
:border => 'LRBT', :pno => 2, :no => 2},
|
15
|
-
'pre tag y position' => {:html => "<p>test 0</p>\n <pre>test 1\ntest 2\ntest 3</pre>\n <p>test 10</p>", :line => 7,
|
16
|
-
:border => 0, :pno => 1, :no => 1},
|
17
|
-
}
|
18
|
-
|
19
|
-
data(htmls)
|
20
|
-
test "write_html_cell test" do |data|
|
21
|
-
pdf = RBPDF.new
|
22
|
-
pdf.add_page()
|
23
|
-
t_margin = pdf.instance_variable_get('@t_margin')
|
24
|
-
y0 = pdf.get_y
|
25
|
-
assert_equal t_margin, y0
|
26
|
-
|
27
|
-
if data[:margin]
|
28
|
-
pdf.set_top_margin(data[:margin])
|
29
|
-
y0 = pdf.get_y
|
30
|
-
assert_equal data[:margin], y0
|
31
|
-
|
32
|
-
h = pdf.get_page_height
|
33
|
-
pdf.set_y(h - 15)
|
34
|
-
y0 = pdf.get_y
|
35
|
-
end
|
36
|
-
|
37
|
-
font_size = pdf.get_font_size
|
38
|
-
cell_height_ratio = pdf.get_cell_height_ratio
|
39
|
-
min_cell_height = font_size * cell_height_ratio
|
40
|
-
h = 5
|
41
|
-
|
42
|
-
min_cell_height = h > min_cell_height ? h : min_cell_height
|
43
|
-
|
44
|
-
pdf.write_html_cell(0, h, 10, '', data[:html], data[:border], 1, 0, true, '', false)
|
45
|
-
|
46
|
-
pno = pdf.get_page
|
47
|
-
assert_equal data[:pno], pno
|
48
|
-
|
49
|
-
y1 = pdf.get_y
|
50
|
-
if pno == 1
|
51
|
-
assert_in_delta(y0 + min_cell_height * data[:line], y1, 0.1)
|
52
|
-
else # pno 2, 1 line case only
|
53
|
-
page_break_trigger = pdf.instance_variable_get('@page_break_trigger')
|
54
|
-
assert_in_delta(data[:margin] + y0 + h - page_break_trigger, y1, 0.1)
|
55
|
-
end
|
56
|
-
|
57
|
-
no = pdf.get_num_pages
|
58
|
-
assert_equal data[:no], no
|
59
|
-
end
|
60
|
-
end
|
data/test/rbpdf_http_test.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
-
# Released under the MIT license
|
3
|
-
# http://www.opensource.org/licenses/MIT
|
4
|
-
|
5
|
-
require 'test_helper'
|
6
|
-
|
7
|
-
class RbpdfHttpTest < Test::Unit::TestCase
|
8
|
-
class MYPDF < RBPDF
|
9
|
-
def get_image_file(uri)
|
10
|
-
super
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def setup
|
15
|
-
require 'webrick'
|
16
|
-
@port = 51234
|
17
|
-
|
18
|
-
dir = File.dirname(__FILE__)
|
19
|
-
@s = WEBrick::HTTPServer.new(:Port => @port, :DocumentRoot => dir, :BindAddress => "0.0.0.0", :DoNotReverseLookup => true)
|
20
|
-
@t = Thread.new { @s.start }
|
21
|
-
end
|
22
|
-
|
23
|
-
test "Image get image file test" do
|
24
|
-
images = [
|
25
|
-
# file_name, error_message
|
26
|
-
['logo_rbpdf_8bit.png', nil],
|
27
|
-
['logo_rbpdf_8bit .png', nil],
|
28
|
-
['logo_rbpdf_8bit+ .png', nil],
|
29
|
-
['logo_rbpdf_8bit_no_file.png', /^RBPDF error: Unable to get image width and height: /],
|
30
|
-
]
|
31
|
-
# no use
|
32
|
-
#if RUBY_VERSION >= '2.0' # Ruby 1.9.2/1.9.3
|
33
|
-
# utf8_japanese_aiueo_str = "\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a"
|
34
|
-
# images << 'logo_rbpdf_8bit_' + utf8_japanese_aiueo_str + '.png'
|
35
|
-
#end
|
36
|
-
|
37
|
-
pdf = MYPDF.new
|
38
|
-
images.each_with_index {|image, i|
|
39
|
-
pdf.add_page
|
40
|
-
#image[0].force_encoding('ASCII-8BIT') if image[0].respond_to?(:force_encoding)
|
41
|
-
tmpFile = pdf.get_image_file('http://127.0.0.1:' + @port.to_s + '/' + image[0])
|
42
|
-
|
43
|
-
img_file = tmpFile.path
|
44
|
-
assert_not_equal "", img_file
|
45
|
-
unless File.exist?(img_file)
|
46
|
-
assert false, "file not found. :" + img_file
|
47
|
-
end
|
48
|
-
|
49
|
-
if image[1].nil?
|
50
|
-
result_img = pdf.image(img_file, 50, 0, 0, '', '', '', '', false, 300, '', true)
|
51
|
-
assert_equal i+1, result_img
|
52
|
-
else
|
53
|
-
err = assert_raise(RBPDFError) {
|
54
|
-
result_img = pdf.image(img_file, 50, 0, 0, '', '', '', '', false, 300, '', true)
|
55
|
-
}
|
56
|
-
assert_match image[1], err.message
|
57
|
-
assert_equal nil, result_img
|
58
|
-
end
|
59
|
-
|
60
|
-
no = pdf.get_num_pages
|
61
|
-
assert_equal i+1, no
|
62
|
-
|
63
|
-
# remove temp files
|
64
|
-
tmpFile.delete unless tmpFile.nil?
|
65
|
-
|
66
|
-
if File.exist?(img_file)
|
67
|
-
assert false, "file found. :" + img_file
|
68
|
-
end
|
69
|
-
}
|
70
|
-
end
|
71
|
-
|
72
|
-
def teardown
|
73
|
-
@s.shutdown
|
74
|
-
@t.join
|
75
|
-
end
|
76
|
-
end
|
@@ -1,170 +0,0 @@
|
|
1
|
-
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
-
# Released under the MIT license
|
3
|
-
# http://www.opensource.org/licenses/MIT
|
4
|
-
|
5
|
-
require 'test_helper'
|
6
|
-
|
7
|
-
class RbpdfTest < Test::Unit::TestCase
|
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
|
-
}
|
17
|
-
|
18
|
-
data(images)
|
19
|
-
test "image getimagesize test" do |data|
|
20
|
-
if data[:use_magick] and (!Object.const_defined?(:Magick) and !Object.const_defined?(:MiniMagick))
|
21
|
-
return
|
22
|
-
end
|
23
|
-
|
24
|
-
pdf = RBPDF.new
|
25
|
-
pdf.add_page
|
26
|
-
img_file = File.join(File.dirname(__FILE__), data[:file])
|
27
|
-
|
28
|
-
info = pdf.getimagesize(img_file)
|
29
|
-
assert_equal 240, info[0] # width
|
30
|
-
assert_equal 89, info[1] # height
|
31
|
-
assert_equal data[:type], info[2] # Image Type
|
32
|
-
assert_equal 'height="89" width="240"', info[3]
|
33
|
-
assert_equal data[:mime], info['mime']
|
34
|
-
assert_equal data[:channels], info['channels'] if data[:channels] # RGB
|
35
|
-
assert_equal data[:bits], info['bits'] if data[:bits] # depth
|
36
|
-
end
|
37
|
-
|
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
|
-
}
|
43
|
-
|
44
|
-
data(images)
|
45
|
-
test "imageToPNG delete test" do |data|
|
46
|
-
return unless Object.const_defined?(:Magick)
|
47
|
-
pdf = RBPDF.new
|
48
|
-
pdf.add_page
|
49
|
-
img_file = File.join(File.dirname(__FILE__), data[:file])
|
50
|
-
|
51
|
-
tempfile = pdf.send(:imageToPNG, img_file)
|
52
|
-
assert_not_equal false, tempfile
|
53
|
-
|
54
|
-
info = pdf.send(:parsepng, tempfile.path)
|
55
|
-
|
56
|
-
assert_not_equal 'pngalpha', info
|
57
|
-
assert_equal 8, info['bpc']
|
58
|
-
assert_equal data[:cs], info['cs']
|
59
|
-
end
|
60
|
-
|
61
|
-
test "Magick::ImageList delete GIF alpha channel test" do
|
62
|
-
return unless Object.const_defined?(:Magick)
|
63
|
-
pdf = RBPDF.new
|
64
|
-
pdf.add_page
|
65
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit_alpha.gif')
|
66
|
-
|
67
|
-
img = Magick::ImageList.new(img_file)
|
68
|
-
img.format = 'PNG' # convert to PNG from gif
|
69
|
-
assert_equal true, img.alpha?
|
70
|
-
|
71
|
-
img.alpha Magick::DeactivateAlphaChannel # PNG alpha channel delete
|
72
|
-
assert_equal false, img.alpha?
|
73
|
-
end
|
74
|
-
|
75
|
-
test "image_alpha_mask DeviceGray test" do
|
76
|
-
return unless Object.const_defined?(:Magick)
|
77
|
-
|
78
|
-
pdf = RBPDF.new
|
79
|
-
pdf.add_page
|
80
|
-
img_file = File.join(File.dirname(__FILE__), 'png_test_alpha.png')
|
81
|
-
|
82
|
-
tempfile = pdf.send(:image_alpha_mask, img_file)
|
83
|
-
|
84
|
-
info = pdf.send(:parsepng, tempfile.path)
|
85
|
-
|
86
|
-
assert_not_equal 'pngalpha', info
|
87
|
-
assert_equal 8, info['bpc']
|
88
|
-
assert_equal 'DeviceGray', info['cs']
|
89
|
-
|
90
|
-
# embed mask image test
|
91
|
-
imgmask = pdf.image(tempfile.path, 10, 10, 100, '', 'PNG', '', '', false, 300, '', true, false)
|
92
|
-
assert_equal 1, imgmask
|
93
|
-
end
|
94
|
-
|
95
|
-
|
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}, # no use
|
99
|
-
}
|
100
|
-
|
101
|
-
data(images)
|
102
|
-
test "ImagePngAlpha test" do |data|
|
103
|
-
return unless Object.const_defined?(:Magick)
|
104
|
-
|
105
|
-
pdf = RBPDF.new
|
106
|
-
pdf.add_page
|
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] # no use
|
109
|
-
info = pdf.send(:ImagePngAlpha, img_file, 10, 10, 100, '', 'PNG', 'https://rubygems.org/gems/rbpdf')
|
110
|
-
assert_equal data[:info], info
|
111
|
-
end
|
112
|
-
|
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}, # no use
|
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
|
-
}
|
121
|
-
|
122
|
-
data(images)
|
123
|
-
test "Image test" do |data|
|
124
|
-
if data[:use_magick] and !Object.const_defined?(:Magick)
|
125
|
-
return
|
126
|
-
end
|
127
|
-
|
128
|
-
pdf = RBPDF.new
|
129
|
-
pdf.add_page
|
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] # no use
|
132
|
-
info = pdf.image(img_file, 10, 10, 100, '', '', 'https://rubygems.org/gems/rbpdf', '', false, 300)
|
133
|
-
assert_equal data[:info], info
|
134
|
-
end
|
135
|
-
|
136
|
-
test "HTML Image test" do
|
137
|
-
return unless Object.const_defined?(:Magick)
|
138
|
-
|
139
|
-
images = {
|
140
|
-
'png_test_alpha.png' => 40.11,
|
141
|
-
'png_test_msk_alpha.png' => 40.11,
|
142
|
-
'png_test_non_alpha.png' => 40.11,
|
143
|
-
'logo_rbpdf_8bit.png' => 36.58,
|
144
|
-
'logo_rbpdf_8bit.gif' => 36.58,
|
145
|
-
'logo_rbpdf_8bit_alpha.gif' => 36.58,
|
146
|
-
'logo_rbpdf_8bit.jpg' => 36.58,
|
147
|
-
'logo_rbpdf_mono_gray.jpg' => 36.58,
|
148
|
-
'logo_rbpdf_mono_gray.png' => 36.58,
|
149
|
-
'logo_rbpdf_mono_rgb.jpg' => 36.58,
|
150
|
-
'logo_rbpdf_mono_rgb.png' => 36.58,
|
151
|
-
'ng.png' => 9.42
|
152
|
-
}
|
153
|
-
|
154
|
-
pdf = RBPDF.new
|
155
|
-
images.each {|image, h|
|
156
|
-
pdf.add_page
|
157
|
-
img_file = File.join(File.dirname(__FILE__), image)
|
158
|
-
htmlcontent = '<img src="'+ img_file + '"/>'
|
159
|
-
|
160
|
-
x_org = pdf.get_x
|
161
|
-
y_org = pdf.get_y
|
162
|
-
pdf.write_html(htmlcontent, true, 0, true, 0)
|
163
|
-
x = pdf.get_x
|
164
|
-
y = pdf.get_y
|
165
|
-
|
166
|
-
assert_equal '[' + image + ']:' + x_org.to_s, '[' + image + ']:' + x.to_s
|
167
|
-
assert_equal '[' + image + ']:' + (y_org + h).round(2).to_s, '[' + image + ']:' + y.round(2).to_s
|
168
|
-
}
|
169
|
-
end
|
170
|
-
end
|
data/test/rbpdf_image_test.rb
DELETED
@@ -1,174 +0,0 @@
|
|
1
|
-
# Copyright (c) 2011-2017 NAITOH Jun
|
2
|
-
# Released under the MIT license
|
3
|
-
# http://www.opensource.org/licenses/MIT
|
4
|
-
|
5
|
-
require 'test_helper'
|
6
|
-
|
7
|
-
class RbpdfTest < Test::Unit::TestCase
|
8
|
-
test "Image basic func extension test" do
|
9
|
-
pdf = RBPDF.new
|
10
|
-
|
11
|
-
type = pdf.get_image_file_type("/tmp/rbpdf_logo.gif")
|
12
|
-
assert_equal 'gif', type
|
13
|
-
|
14
|
-
type = pdf.get_image_file_type("/tmp/rbpdf_logo.PNG")
|
15
|
-
assert_equal 'png', type
|
16
|
-
|
17
|
-
type = pdf.get_image_file_type("/tmp/rbpdf_logo.jpg")
|
18
|
-
assert_equal 'jpeg', type
|
19
|
-
|
20
|
-
type = pdf.get_image_file_type("/tmp/rbpdf_logo.jpeg")
|
21
|
-
assert_equal 'jpeg', type
|
22
|
-
|
23
|
-
type = pdf.get_image_file_type("/tmp/rbpdf_logo")
|
24
|
-
assert_equal '', type
|
25
|
-
|
26
|
-
type = pdf.get_image_file_type("")
|
27
|
-
assert_equal '', type
|
28
|
-
|
29
|
-
type = pdf.get_image_file_type(nil)
|
30
|
-
assert_equal '', type
|
31
|
-
end
|
32
|
-
|
33
|
-
test "Image basic func mime type test" do
|
34
|
-
pdf = RBPDF.new
|
35
|
-
|
36
|
-
type = pdf.get_image_file_type(nil, {})
|
37
|
-
assert_equal '', type
|
38
|
-
|
39
|
-
type = pdf.get_image_file_type(nil, {'mime' => 'image/gif'})
|
40
|
-
assert_equal 'gif', type
|
41
|
-
|
42
|
-
type = pdf.get_image_file_type(nil, {'mime' => 'image/jpeg'})
|
43
|
-
assert_equal 'jpeg', type
|
44
|
-
|
45
|
-
type = pdf.get_image_file_type('/tmp/rbpdf_logo.gif', {'mime' => 'image/png'})
|
46
|
-
assert_equal 'png', type
|
47
|
-
|
48
|
-
type = pdf.get_image_file_type('/tmp/rbpdf_logo.gif', {})
|
49
|
-
assert_equal 'gif', type
|
50
|
-
|
51
|
-
type = pdf.get_image_file_type(nil, {'mime' => 'text/html'})
|
52
|
-
assert_equal '', type
|
53
|
-
|
54
|
-
type = pdf.get_image_file_type(nil, [])
|
55
|
-
assert_equal '', type
|
56
|
-
end
|
57
|
-
|
58
|
-
test "Image basic ascii filename test" do
|
59
|
-
pdf = RBPDF.new
|
60
|
-
pdf.add_page
|
61
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit.png')
|
62
|
-
assert_nothing_raised(RBPDFError) {
|
63
|
-
pdf.image(img_file)
|
64
|
-
}
|
65
|
-
|
66
|
-
img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit .png')
|
67
|
-
assert_nothing_raised(RBPDFError) {
|
68
|
-
pdf.image(img_file)
|
69
|
-
}
|
70
|
-
end
|
71
|
-
|
72
|
-
# no use
|
73
|
-
#test "Image basic non ascii filename test" do
|
74
|
-
# pdf = RBPDF.new
|
75
|
-
# pdf.add_page
|
76
|
-
|
77
|
-
# utf8_japanese_aiueo_str = "\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a"
|
78
|
-
# img_file = File.join(File.dirname(__FILE__), 'logo_rbpdf_8bit_' + utf8_japanese_aiueo_str + '.png')
|
79
|
-
# assert_nothing_raised(RBPDFError) {
|
80
|
-
# pdf.image(img_file)
|
81
|
-
# }
|
82
|
-
#end
|
83
|
-
|
84
|
-
test "Image basic filename error test" do
|
85
|
-
pdf = RBPDF.new
|
86
|
-
err = assert_raise(RBPDFError) {
|
87
|
-
pdf.image(nil)
|
88
|
-
}
|
89
|
-
assert_equal 'RBPDF error: Image filename is empty.', err.message
|
90
|
-
|
91
|
-
err = assert_raises(RBPDFError) {
|
92
|
-
pdf.image('')
|
93
|
-
}
|
94
|
-
assert_equal 'RBPDF error: Image filename is empty.', err.message
|
95
|
-
|
96
|
-
err = assert_raises(RBPDFError) {
|
97
|
-
pdf.image('foo.png')
|
98
|
-
}
|
99
|
-
assert_equal 'RBPDF error: Image file is not found. : foo.png', err.message
|
100
|
-
end
|
101
|
-
|
102
|
-
test "Image basic test" do
|
103
|
-
pdf = RBPDF.new
|
104
|
-
pdf.add_page
|
105
|
-
img_file = File.join(File.dirname(__FILE__), '..', 'logo_example.png')
|
106
|
-
|
107
|
-
result_img = pdf.image(img_file, 50, 0, 0, '', '', '', '', false, 300, '', true)
|
108
|
-
|
109
|
-
no = pdf.get_num_pages
|
110
|
-
assert_equal 1, no
|
111
|
-
assert_equal 1, result_img
|
112
|
-
end
|
113
|
-
|
114
|
-
test "Image fitonpage test 1" do
|
115
|
-
pdf = RBPDF.new
|
116
|
-
pdf.add_page
|
117
|
-
img_file = File.join(File.dirname(__FILE__), '..', 'logo_example.png')
|
118
|
-
|
119
|
-
result_img = pdf.image(img_file, 50, 140, 100, '', '', '', '', false, 300, '', true, false, 0, false, false, true)
|
120
|
-
|
121
|
-
no = pdf.get_num_pages
|
122
|
-
assert_equal 1, no
|
123
|
-
assert_equal 1, result_img
|
124
|
-
end
|
125
|
-
|
126
|
-
test "Image fitonpage test 2" do
|
127
|
-
pdf = RBPDF.new
|
128
|
-
pdf.add_page
|
129
|
-
img_file = File.join(File.dirname(__FILE__), '..', 'logo_example.png')
|
130
|
-
|
131
|
-
y = 100
|
132
|
-
w = pdf.get_page_width * 2
|
133
|
-
h = pdf.get_page_height
|
134
|
-
result_img = pdf.image(img_file, '', y, w, h, '', '', '', false, 300, '', true, false, 0, false, false, true)
|
135
|
-
|
136
|
-
no = pdf.get_num_pages
|
137
|
-
assert_equal 1, no
|
138
|
-
assert_equal 1, result_img
|
139
|
-
end
|
140
|
-
|
141
|
-
test "HTML Image test without RMagick" do
|
142
|
-
return if Object.const_defined?(:Magick)
|
143
|
-
|
144
|
-
# no use
|
145
|
-
# utf8_japanese_aiueo_str = "\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a"
|
146
|
-
|
147
|
-
images = {
|
148
|
-
'png_test_msk_alpha.png' => 40.11,
|
149
|
-
'png_test_non_alpha.png' => 40.11,
|
150
|
-
'logo_rbpdf_8bit.png' => 36.58,
|
151
|
-
'logo_rbpdf_8bit .png' => 36.58,
|
152
|
-
'logo_rbpdf_8bit+ .png' => 36.58,
|
153
|
-
# no use
|
154
|
-
#'logo_rbpdf_8bit_' + utf8_japanese_aiueo_str + '.png' => 36.58,
|
155
|
-
'ng.png' => 9.42
|
156
|
-
}
|
157
|
-
|
158
|
-
pdf = RBPDF.new
|
159
|
-
images.each {|image, h|
|
160
|
-
pdf.add_page
|
161
|
-
img_file = File.join(File.dirname(__FILE__), image)
|
162
|
-
htmlcontent = '<img src="'+ img_file + '"/>'
|
163
|
-
|
164
|
-
x_org = pdf.get_x
|
165
|
-
y_org = pdf.get_y
|
166
|
-
pdf.write_html(htmlcontent, true, 0, true, 0)
|
167
|
-
x = pdf.get_x
|
168
|
-
y = pdf.get_y
|
169
|
-
|
170
|
-
assert_equal '[' + image + ']:' + x_org.to_s, '[' + image + ']:' + x.to_s
|
171
|
-
assert_equal '[' + image + ']:' + (y_org + h).round(2).to_s, '[' + image + ']:' + y.round(2).to_s
|
172
|
-
}
|
173
|
-
end
|
174
|
-
end
|