rbpdf 1.18.1 → 1.18.2
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/lib/rbpdf.rb +16 -13
- data/test/rbpdf_cell_test.rb +21 -0
- data/test/rbpdf_dom_test.rb +29 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58e305378e0bcb076298f1c3deb700869cbec74e
|
|
4
|
+
data.tar.gz: cbd734a213aa85690bd1d0b04359376e517221c7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ddc12d9fce5eb9172b307b12ecda5ee2e3a7c00fd2142673618352396507c8e2fcb3d9dc36431de48c02fa06edbbd482d25617fe0eba323ca29043c1561a4b4b
|
|
7
|
+
data.tar.gz: d37493ecfc88a6450d7a201ff1e9f6cec53ca7f397062ba62981177753078c362fb07fd3e0bbf8b6abd5f72c50b3de122e4eb0c58b06e41ba3c3ae8e30a0d415
|
data/CHANGELOG
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
1.18.2 2014-10-25
|
|
2
|
+
- getNumLines and a getStringHeight function fixed the problem which is wrong by the case of two or more lines.
|
|
3
|
+
- fix case of missing image file.
|
|
4
|
+
|
|
1
5
|
1.18.1 2014-09-15
|
|
2
6
|
- ImagePngAlpha function fixed for the error case where an alpha channel cannot be deleted.
|
|
3
7
|
- getimagesize function fixed for MAC OS rmagick.
|
data/lib/rbpdf/version.rb
CHANGED
data/lib/rbpdf.rb
CHANGED
|
@@ -3918,14 +3918,15 @@ class RBPDF
|
|
|
3918
3918
|
@transfmrk[@page] += (ccode + "\n").length
|
|
3919
3919
|
elsif @in_footer
|
|
3920
3920
|
pagemark = @footerpos[@page]
|
|
3921
|
+
@footerpos[@page] += (ccode + "\n").length
|
|
3921
3922
|
else
|
|
3922
3923
|
pagemark = @intmrk[@page]
|
|
3924
|
+
@intmrk[@page] += (ccode + "\n").length
|
|
3923
3925
|
end
|
|
3924
3926
|
pagebuff = getPageBuffer(@page)
|
|
3925
3927
|
pstart = pagebuff[0, pagemark]
|
|
3926
3928
|
pend = pagebuff[pagemark..-1].to_s
|
|
3927
3929
|
setPageBuffer(@page, pstart + ccode + "\n" + pend)
|
|
3928
|
-
pagemark += (ccode + "\n").length
|
|
3929
3930
|
end
|
|
3930
3931
|
end
|
|
3931
3932
|
|
|
@@ -4090,7 +4091,7 @@ class RBPDF
|
|
|
4090
4091
|
if unichr(chars[i]) =~ /\s/
|
|
4091
4092
|
lastSeparator = i
|
|
4092
4093
|
end
|
|
4093
|
-
if sum + charWidth >= wmax
|
|
4094
|
+
if (sum + charWidth >= wmax) or (chars[i] == 10) # 10 = "\n" = new line
|
|
4094
4095
|
lines += 1
|
|
4095
4096
|
if lastSeparator != -1
|
|
4096
4097
|
i = lastSeparator
|
|
@@ -12141,12 +12142,12 @@ public
|
|
|
12141
12142
|
opentagpos = @footerpos[@page]
|
|
12142
12143
|
end
|
|
12143
12144
|
end
|
|
12144
|
-
openHTMLTagHandler(dom, key, cell)
|
|
12145
|
+
dom = openHTMLTagHandler(dom, key, cell)
|
|
12145
12146
|
end
|
|
12146
12147
|
else
|
|
12147
12148
|
# closing tag
|
|
12148
12149
|
prev_numpages = @numpages
|
|
12149
|
-
closeHTMLTagHandler(dom, key, cell, maxbottomliney)
|
|
12150
|
+
dom = closeHTMLTagHandler(dom, key, cell, maxbottomliney)
|
|
12150
12151
|
if prev_numpages > @numpages
|
|
12151
12152
|
startlinepage = @page
|
|
12152
12153
|
end
|
|
@@ -12580,18 +12581,17 @@ public
|
|
|
12580
12581
|
# else
|
|
12581
12582
|
result_img = Image(tag['attribute']['src'], xpos, @y, iw, ih, '', imglink, align, false, 300, '', false, false, border, false, false, true)
|
|
12582
12583
|
# end
|
|
12583
|
-
case align
|
|
12584
|
-
when 'T'
|
|
12585
|
-
@y = prevy
|
|
12586
|
-
when 'M'
|
|
12587
|
-
@y = (@img_rb_y + prevy - (tag['fontsize'] / @k)) / 2
|
|
12588
|
-
when 'B'
|
|
12589
|
-
@y = @img_rb_y - (tag['fontsize'] / @k)
|
|
12590
|
-
end
|
|
12591
12584
|
rescue => err
|
|
12592
12585
|
logger.error "pdf: Image: error: #{err.message}"
|
|
12593
12586
|
result_img = false
|
|
12587
|
+
end
|
|
12588
|
+
case align
|
|
12589
|
+
when 'T'
|
|
12594
12590
|
@y = prevy
|
|
12591
|
+
when 'M'
|
|
12592
|
+
@y = (@img_rb_y + prevy - (tag['fontsize'] / @k)) / 2
|
|
12593
|
+
when 'B'
|
|
12594
|
+
@y = @img_rb_y - (tag['fontsize'] / @k)
|
|
12595
12595
|
end
|
|
12596
12596
|
if result_img == false
|
|
12597
12597
|
Write(@lasth, File::basename(img_name) + ' ', '', false, '', false, 0, false) unless img_name.nil?
|
|
@@ -12706,6 +12706,7 @@ public
|
|
|
12706
12706
|
checkPageBreak(@page_break_trigger + 1)
|
|
12707
12707
|
end
|
|
12708
12708
|
end
|
|
12709
|
+
dom
|
|
12709
12710
|
end
|
|
12710
12711
|
protected :openHTMLTagHandler
|
|
12711
12712
|
|
|
@@ -12932,14 +12933,15 @@ public
|
|
|
12932
12933
|
@transfmrk[@page] += (ccode + "\n").length
|
|
12933
12934
|
elsif @in_footer
|
|
12934
12935
|
pagemark = @footerpos[@page]
|
|
12936
|
+
@footerpos[@page] += (ccode + "\n").length
|
|
12935
12937
|
else
|
|
12936
12938
|
pagemark = @intmrk[@page]
|
|
12939
|
+
@intmrk[@page] += (ccode + "\n").length
|
|
12937
12940
|
end
|
|
12938
12941
|
pagebuff = getPageBuffer(@page)
|
|
12939
12942
|
pstart = pagebuff[0, pagemark]
|
|
12940
12943
|
pend = pagebuff[pagemark..-1]
|
|
12941
12944
|
setPageBuffer(@page, pstart + ccode + "\n" + pend)
|
|
12942
|
-
pagemark += (ccode + "\n").length
|
|
12943
12945
|
end
|
|
12944
12946
|
end
|
|
12945
12947
|
}
|
|
@@ -13055,6 +13057,7 @@ public
|
|
|
13055
13057
|
end
|
|
13056
13058
|
end
|
|
13057
13059
|
@tmprtl = false
|
|
13060
|
+
dom
|
|
13058
13061
|
end
|
|
13059
13062
|
protected :closeHTMLTagHandler
|
|
13060
13063
|
|
data/test/rbpdf_cell_test.rb
CHANGED
|
@@ -123,6 +123,27 @@ class RbpdfTest < ActiveSupport::TestCase
|
|
|
123
123
|
assert_equal line, 7
|
|
124
124
|
end
|
|
125
125
|
|
|
126
|
+
test "getStringHeight Multi Line test" do
|
|
127
|
+
pdf = RBPDF.new('P', 'mm', 'A4', true, "UTF-8", true)
|
|
128
|
+
pdf.add_page
|
|
129
|
+
|
|
130
|
+
txt = "abc\ndif\nhij"
|
|
131
|
+
|
|
132
|
+
w = 100
|
|
133
|
+
y1 = pdf.get_y
|
|
134
|
+
pdf.multi_cell(w, 0, txt)
|
|
135
|
+
pno = pdf.get_page
|
|
136
|
+
assert_equal pno, 1
|
|
137
|
+
y2 = pdf.get_y
|
|
138
|
+
h1 = y2 - y1
|
|
139
|
+
|
|
140
|
+
h2 = pdf.getStringHeight(w, txt)
|
|
141
|
+
assert_in_delta h1, h2, 0.01
|
|
142
|
+
|
|
143
|
+
line = pdf.get_num_lines(txt, w)
|
|
144
|
+
assert_equal line, 3
|
|
145
|
+
end
|
|
146
|
+
|
|
126
147
|
test "getStringHeight Minimum Width test 1" do
|
|
127
148
|
pdf = RBPDF.new('P', 'mm', 'A4', true, "UTF-8", true)
|
|
128
149
|
pdf.add_page
|
data/test/rbpdf_dom_test.rb
CHANGED
|
@@ -5,6 +5,9 @@ class RbpdfTest < ActiveSupport::TestCase
|
|
|
5
5
|
def getHtmlDomArray(html)
|
|
6
6
|
super
|
|
7
7
|
end
|
|
8
|
+
def openHTMLTagHandler(dom, key, cell)
|
|
9
|
+
super
|
|
10
|
+
end
|
|
8
11
|
end
|
|
9
12
|
|
|
10
13
|
test "Dom Basic" do
|
|
@@ -110,4 +113,30 @@ class RbpdfTest < ActiveSupport::TestCase
|
|
|
110
113
|
assert_equal dom[3]['value'], 'td'
|
|
111
114
|
assert_equal dom[3]['width'], '10'
|
|
112
115
|
end
|
|
116
|
+
|
|
117
|
+
test "Dom HTMLTagHandler Basic test" do
|
|
118
|
+
pdf = MYPDF.new
|
|
119
|
+
pdf.add_page
|
|
120
|
+
|
|
121
|
+
# Simple HTML
|
|
122
|
+
htmlcontent = '<h1>HTML Example</h1>'
|
|
123
|
+
dom1 = pdf.getHtmlDomArray(htmlcontent)
|
|
124
|
+
dom2 = pdf.openHTMLTagHandler(dom1, 1, false)
|
|
125
|
+
assert_equal dom1, dom2
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
test "Dom HTMLTagHandler img test" do
|
|
129
|
+
pdf = MYPDF.new
|
|
130
|
+
pdf.add_page
|
|
131
|
+
|
|
132
|
+
# Image Error HTML
|
|
133
|
+
htmlcontent = '<img src="' + Rails.root.to_s + '/public/ng.png" alt="test alt attribute" width="30" height="30" border="0"/>'
|
|
134
|
+
dom1 = pdf.getHtmlDomArray(htmlcontent)
|
|
135
|
+
y1 = pdf.get_y
|
|
136
|
+
|
|
137
|
+
dom2 = pdf.openHTMLTagHandler(dom1, 1, false)
|
|
138
|
+
y2 = pdf.get_y
|
|
139
|
+
assert_equal dom1, dom2
|
|
140
|
+
assert_equal pdf.get_image_rby - (12 / pdf.get_scale_factor) , y2
|
|
141
|
+
end
|
|
113
142
|
end
|
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.18.
|
|
4
|
+
version: 1.18.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- NAITOH Jun
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-10-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|