pdf-reader 0.8.5 → 0.8.6
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.
- data/CHANGELOG +5 -0
- data/Rakefile +1 -1
- data/lib/pdf/hash.rb +21 -0
- data/lib/pdf/reader/encoding.rb +4 -1
- data/lib/pdf/reader/text_receiver.rb +1 -1
- metadata +14 -4
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
v0.8.6 (27th August 2010)
|
2
|
+
- new method: hash#page_references
|
3
|
+
- returns references to all page objects, gives rapid access to objects
|
4
|
+
for a given page
|
5
|
+
|
1
6
|
v0.8.5 (11th April 2010)
|
2
7
|
- fix a regression introduced in 0.8.4.
|
3
8
|
- Parameters passed to resource_font callback were inadvertently changed
|
data/Rakefile
CHANGED
data/lib/pdf/hash.rb
CHANGED
@@ -198,8 +198,29 @@ module PDF
|
|
198
198
|
ret
|
199
199
|
end
|
200
200
|
|
201
|
+
# returns an array of PDF::Reader::References. Each reference in the
|
202
|
+
# array points a Page object, one for each page in the PDF. The first
|
203
|
+
# reference is page 1, second reference is page 2, etc.
|
204
|
+
#
|
205
|
+
def page_references
|
206
|
+
root = fetch(trailer[:Root])
|
207
|
+
@page_references ||= get_page_objects(root[:Pages]).flatten
|
208
|
+
end
|
209
|
+
|
201
210
|
private
|
202
211
|
|
212
|
+
# returns a nested array of object references for all pages in this object store.
|
213
|
+
#
|
214
|
+
def get_page_objects(ref)
|
215
|
+
obj = fetch(ref)
|
216
|
+
|
217
|
+
if obj[:Type] == :Page
|
218
|
+
ref
|
219
|
+
elsif obj[:Type] == :Pages
|
220
|
+
obj[:Kids].map { |kid| get_page_objects(kid) }
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
203
224
|
def read_version(io)
|
204
225
|
io.seek(0)
|
205
226
|
m, version = *io.read(10).match(/PDF-(\d.\d)/)
|
data/lib/pdf/reader/encoding.rb
CHANGED
@@ -27,7 +27,8 @@ require 'enumerator'
|
|
27
27
|
|
28
28
|
class PDF::Reader
|
29
29
|
class Encoding
|
30
|
-
|
30
|
+
CONTROL_CHARS = [0,1,2,3,4,5,6,7,8,11,12,14,15,16,17,18,19,20,21,22,23,
|
31
|
+
24,25,26,27,28,29,30,31]
|
31
32
|
UNKNOWN_CHAR = 0x25AF # ▯
|
32
33
|
|
33
34
|
attr_reader :differences, :unpack
|
@@ -121,6 +122,8 @@ class PDF::Reader
|
|
121
122
|
PDF::Reader::Encoding::UNKNOWN_CHAR
|
122
123
|
elsif mapping[num]
|
123
124
|
mapping[num]
|
125
|
+
elsif PDF::Reader::Encoding::CONTROL_CHARS.include?(num)
|
126
|
+
PDF::Reader::Encoding::UNKNOWN_CHAR
|
124
127
|
else
|
125
128
|
num
|
126
129
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdf-reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 51
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
9
|
+
- 6
|
10
|
+
version: 0.8.6
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- James Healy
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-08-27 00:00:00 +10:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: Ascii85
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 25
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
- 9
|
@@ -81,6 +84,9 @@ files:
|
|
81
84
|
- lib/pdf/reader.rb
|
82
85
|
- lib/pdf-reader.rb
|
83
86
|
- Rakefile
|
87
|
+
- bin/pdf_object
|
88
|
+
- bin/pdf_text
|
89
|
+
- bin/pdf_list_callbacks
|
84
90
|
- README.rdoc
|
85
91
|
- TODO
|
86
92
|
- CHANGELOG
|
@@ -99,23 +105,27 @@ rdoc_options:
|
|
99
105
|
require_paths:
|
100
106
|
- lib
|
101
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
102
109
|
requirements:
|
103
110
|
- - ">="
|
104
111
|
- !ruby/object:Gem::Version
|
112
|
+
hash: 3
|
105
113
|
segments:
|
106
114
|
- 0
|
107
115
|
version: "0"
|
108
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
109
118
|
requirements:
|
110
119
|
- - ">="
|
111
120
|
- !ruby/object:Gem::Version
|
121
|
+
hash: 3
|
112
122
|
segments:
|
113
123
|
- 0
|
114
124
|
version: "0"
|
115
125
|
requirements: []
|
116
126
|
|
117
127
|
rubyforge_project: pdf-reader
|
118
|
-
rubygems_version: 1.3.
|
128
|
+
rubygems_version: 1.3.7
|
119
129
|
signing_key:
|
120
130
|
specification_version: 3
|
121
131
|
summary: A library for accessing the content of PDF files
|