combine_pdf 1.0.10 → 1.0.11
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.md +4 -0
- data/combine_pdf.gemspec +1 -0
- data/lib/combine_pdf/renderer.rb +4 -2
- data/lib/combine_pdf/version.rb +1 -1
- data/test/combine_pdf/renderer_test.rb +22 -0
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f292c2a6bcd884e255454fbc8da8607e35bd67f4d384bae7f3f24ecf5bab0fd2
|
4
|
+
data.tar.gz: 1e42415199a87b283161390c81304ba566e5db5910aba343b3ad636df3f1f4e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abe5f55e7e428216469b5203942409886fca98ba9746a949eba50df24bb82ae5068bcb2de8eec854a00aee9a12155e3c7befded73e154f2dbc0043cb9db62843
|
7
|
+
data.tar.gz: eeeb8e7c3d0e0ab27337dbf04fbb833973904e1f8cd76e2788fdd3dbc12400702f9a6870c18434ca7901030a35fb62d281ad9110c5cc9e3da19b394a9ddaff24
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
***
|
4
4
|
|
5
|
+
#### Change log v.1.0.11
|
6
|
+
|
7
|
+
**Fix**: Fixed an issue where small floating point numbers would produce invalid PDF rendering (where exponent notation was used instead of decimal notation). Credit to @avit (Andrew Vit) for PR #139.
|
8
|
+
|
5
9
|
#### Change log v.1.0.10
|
6
10
|
|
7
11
|
**Fix**: Fixed an issue related to issue #131 where parsing would fail if the `xref` section appears to be misplaced within the PDF. Credit to @bharat303 (Bharat Godhani) for exposing this issue.
|
data/combine_pdf.gemspec
CHANGED
data/lib/combine_pdf/renderer.rb
CHANGED
@@ -20,8 +20,10 @@ module CombinePDF
|
|
20
20
|
return format_name_to_pdf object
|
21
21
|
elsif object.is_a?(Array)
|
22
22
|
return format_array_to_pdf object
|
23
|
-
elsif object.is_a?(
|
23
|
+
elsif object.is_a?(Integer) || object.is_a?(TrueClass) || object.is_a?(FalseClass)
|
24
24
|
return object.to_s
|
25
|
+
elsif object.is_a?(Numeric) # Float or other non-integer
|
26
|
+
return sprintf('%f', object)
|
25
27
|
elsif object.is_a?(Hash)
|
26
28
|
return format_hash_to_pdf object
|
27
29
|
else
|
@@ -47,7 +49,7 @@ module CombinePDF
|
|
47
49
|
obj_bytes = object.bytes.to_a
|
48
50
|
# object.force_encoding(Encoding::ASCII_8BIT)
|
49
51
|
if object.length == 0 || obj_bytes.min <= 31 || obj_bytes.max >= 127 # || (obj_bytes[0] != 68 object.match(/[^D\:\d\+\-Z\']/))
|
50
|
-
# A hexadecimal string shall be written as a sequence of hexadecimal digits (0
|
52
|
+
# A hexadecimal string shall be written as a sequence of hexadecimal digits (0-9 and either A-F or a-f)
|
51
53
|
# encoded as ASCII characters and enclosed within angle brackets (using LESS-THAN SIGN (3Ch) and GREATER- THAN SIGN (3Eh)).
|
52
54
|
"<#{object.unpack('H*')[0]}>".force_encoding(Encoding::ASCII_8BIT)
|
53
55
|
else
|
data/lib/combine_pdf/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'combine_pdf/renderer'
|
4
|
+
|
5
|
+
class CombinePDFRendererTest < Minitest::Test
|
6
|
+
|
7
|
+
class TestRenderer
|
8
|
+
include CombinePDF::Renderer
|
9
|
+
|
10
|
+
def test_object(object)
|
11
|
+
object_to_pdf(object)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_numeric_array_to_pdf
|
16
|
+
input = [1.234567, 0.000054, 5, -0.000099]
|
17
|
+
expected = "[1.234567 0.000054 5 -0.000099]".force_encoding('BINARY')
|
18
|
+
actual = TestRenderer.new.test_object(input)
|
19
|
+
|
20
|
+
assert_equal(expected, actual)
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: combine_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boaz Segev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-rc4
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description: A nifty gem, in pure Ruby, to parse PDF files and combine (merge) them
|
56
70
|
with other PDF files, number the pages, watermark them or stamp them, create tables,
|
57
71
|
add basic text objects etc` (all using the PDF file format).
|
@@ -82,6 +96,7 @@ files:
|
|
82
96
|
- lib/combine_pdf/renderer.rb
|
83
97
|
- lib/combine_pdf/version.rb
|
84
98
|
- test/automated
|
99
|
+
- test/combine_pdf/renderer_test.rb
|
85
100
|
- test/console
|
86
101
|
- test/named_dest
|
87
102
|
homepage: https://github.com/boazsegev/combine_pdf
|
@@ -104,11 +119,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
119
|
version: '0'
|
105
120
|
requirements: []
|
106
121
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.7.
|
122
|
+
rubygems_version: 2.7.6
|
108
123
|
signing_key:
|
109
124
|
specification_version: 4
|
110
125
|
summary: Combine, stamp and watermark PDF files in pure Ruby.
|
111
126
|
test_files:
|
112
127
|
- test/automated
|
128
|
+
- test/combine_pdf/renderer_test.rb
|
113
129
|
- test/console
|
114
130
|
- test/named_dest
|