pdf-reader 1.1.0 → 1.1.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.
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ v1.1.1 (9th May 2012)
2
+ - bugfix release to improve parsing of some PDFs
3
+
1
4
  v1.1.0 (25th March 2012)
2
5
  - new PageState class for handling common state tracking in page receivers
3
6
  - see PageTextReceiver for example usage
@@ -135,7 +135,7 @@ module PDF
135
135
 
136
136
  def page_count
137
137
  pages = @objects.deref(root[:Pages])
138
- @page_count ||= pages[:Count]
138
+ @page_count ||= @objects.deref(pages[:Count])
139
139
  end
140
140
 
141
141
  def pdf_version
@@ -36,6 +36,7 @@ class PDF::Reader
36
36
  # the raw tokens into objects we can work with (strings, ints, arrays, etc)
37
37
  #
38
38
  class Buffer
39
+ TOKEN_WHITESPACE=["\x00", "\x09", "\x0A", "\x0C", "\x0D", "\x20"]
39
40
 
40
41
  attr_reader :pos
41
42
 
@@ -299,9 +300,14 @@ class PDF::Reader
299
300
  chr = @io.read(1)
300
301
  done = true if chr.nil? || chr == "\x0A" || chr == "\x0D"
301
302
  end
302
- when "\x00", "\x09", "\x0A", "\x0C", "\x0D", "\x20"
303
+ when *TOKEN_WHITESPACE
303
304
  # white space, token finished
304
305
  @tokens << tok if tok.size > 0
306
+
307
+ #If the token was empty, chomp the rest of the whitespace too
308
+ while TOKEN_WHITESPACE.include?(peek_char) && tok.size == 0
309
+ @io.read(1)
310
+ end
305
311
  tok = ""
306
312
  break
307
313
  when "\x3C"
@@ -104,7 +104,7 @@ module PDF
104
104
  objects.deref(obj)
105
105
  }.map { |obj|
106
106
  obj.unfiltered_data
107
- }.join
107
+ }.join(" ")
108
108
  end
109
109
 
110
110
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdf-reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-25 00:00:00.000000000 Z
12
+ date: 2012-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &20774400 !ruby/object:Gem::Requirement
16
+ requirement: &35841860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *20774400
24
+ version_requirements: *35841860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: roodi
27
- requirement: &20772820 !ruby/object:Gem::Requirement
27
+ requirement: &35841400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *20772820
35
+ version_requirements: *35841400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &20771660 !ruby/object:Gem::Requirement
38
+ requirement: &35840900 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.3'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *20771660
46
+ version_requirements: *35840900
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ZenTest
49
- requirement: &20770840 !ruby/object:Gem::Requirement
49
+ requirement: &35840400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 4.4.2
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *20770840
57
+ version_requirements: *35840400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: Ascii85
60
- requirement: &20770080 !ruby/object:Gem::Requirement
60
+ requirement: &35839940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *20770080
68
+ version_requirements: *35839940
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ruby-rc4
71
- requirement: &20769400 !ruby/object:Gem::Requirement
71
+ requirement: &35839520 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *20769400
79
+ version_requirements: *35839520
80
80
  description: The PDF::Reader library implements a PDF parser conforming as much as
81
81
  possible to the PDF specification from Adobe
82
82
  email: