rbpdf 1.20.0 → 1.20.1
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 +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
|