pdf-reader 0.8.6 → 0.9.0

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.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdf-reader
3
3
  version: !ruby/object:Gem::Version
4
- hash: 51
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 8
9
- - 6
10
- version: 0.8.6
8
+ - 9
9
+ - 0
10
+ version: 0.9.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - James Healy
@@ -15,13 +15,56 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-27 00:00:00 +10:00
18
+ date: 2010-11-19 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: Ascii85
22
+ name: rake
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: roodi
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ hash: 1
58
+ segments:
59
+ - 2
60
+ - 1
61
+ version: "2.1"
62
+ type: :development
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: Ascii85
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
25
68
  none: false
26
69
  requirements:
27
70
  - - ">="
@@ -32,7 +75,7 @@ dependencies:
32
75
  - 9
33
76
  version: "0.9"
34
77
  type: :runtime
35
- version_requirements: *id001
78
+ version_requirements: *id004
36
79
  description: The PDF::Reader library implements a PDF parser conforming as much as possible to the PDF specification from Adobe
37
80
  email: jimmy@deefa.com
38
81
  executables:
@@ -56,22 +99,27 @@ files:
56
99
  - examples/text.rb
57
100
  - examples/version.rb
58
101
  - examples/page_counter_improved.rb
102
+ - examples/extract_images.rb
59
103
  - lib/pdf/reader/glyphlist.txt
60
- - lib/pdf/reader/content.rb
61
104
  - lib/pdf/reader/error.rb
62
105
  - lib/pdf/reader/font.rb
106
+ - lib/pdf/reader/lzw.rb
63
107
  - lib/pdf/reader/print_receiver.rb
64
108
  - lib/pdf/reader/reference.rb
65
109
  - lib/pdf/reader/filter.rb
66
110
  - lib/pdf/reader/text_receiver.rb
111
+ - lib/pdf/reader/pages_strategy.rb
112
+ - lib/pdf/reader/abstract_strategy.rb
67
113
  - lib/pdf/reader/encoding.rb
68
114
  - lib/pdf/reader/stream.rb
69
115
  - lib/pdf/reader/register_receiver.rb
116
+ - lib/pdf/reader/object_hash.rb
70
117
  - lib/pdf/reader/token.rb
71
118
  - lib/pdf/reader/xref.rb
72
119
  - lib/pdf/reader/cmap.rb
120
+ - lib/pdf/reader/object_stream.rb
121
+ - lib/pdf/reader/metadata_strategy.rb
73
122
  - lib/pdf/reader/buffer.rb
74
- - lib/pdf/reader/explore.rb
75
123
  - lib/pdf/reader/encodings/zapf_dingbats.txt
76
124
  - lib/pdf/reader/encodings/standard.txt
77
125
  - lib/pdf/reader/encodings/mac_roman.txt
@@ -84,13 +132,13 @@ files:
84
132
  - lib/pdf/reader.rb
85
133
  - lib/pdf-reader.rb
86
134
  - Rakefile
87
- - bin/pdf_object
88
- - bin/pdf_text
89
- - bin/pdf_list_callbacks
90
135
  - README.rdoc
91
136
  - TODO
92
137
  - CHANGELOG
93
138
  - MIT-LICENSE
139
+ - bin/pdf_object
140
+ - bin/pdf_text
141
+ - bin/pdf_list_callbacks
94
142
  has_rdoc: true
95
143
  homepage: http://github.com/yob/pdf-reader
96
144
  licenses: []
@@ -124,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
172
  version: "0"
125
173
  requirements: []
126
174
 
127
- rubyforge_project: pdf-reader
175
+ rubyforge_project:
128
176
  rubygems_version: 1.3.7
129
177
  signing_key:
130
178
  specification_version: 3
@@ -1,116 +0,0 @@
1
- ################################################################################
2
- #
3
- # Copyright (C) 2006 Peter J Jones (pjones@pmade.com)
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining
6
- # a copy of this software and associated documentation files (the
7
- # "Software"), to deal in the Software without restriction, including
8
- # without limitation the rights to use, copy, modify, merge, publish,
9
- # distribute, sublicense, and/or sell copies of the Software, and to
10
- # permit persons to whom the Software is furnished to do so, subject to
11
- # the following conditions:
12
- #
13
- # The above copyright notice and this permission notice shall be
14
- # included in all copies or substantial portions of the Software.
15
- #
16
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
- #
24
- ################################################################################
25
- require 'pathname'
26
-
27
-
28
- class PDF::Reader
29
- ################################################################################
30
- class Explore
31
- ################################################################################
32
- def self.file (name)
33
- PDF::Reader.new.parse(File.open(name), self)
34
- end
35
- ################################################################################
36
- def initialize (receiver, xref)
37
- @xref = xref
38
- @pwd = '/'
39
- end
40
- ################################################################################
41
- def document (root)
42
- @root = root
43
- self
44
- end
45
- ################################################################################
46
- def output_parent (obj)
47
- case obj
48
- when Hash
49
- obj.each do |k,v|
50
- print "#{k}"; output_child(v); print "\n"
51
- Explore::const_set(k, k) if !Explore.const_defined?(k)
52
- end
53
- when Array
54
- obj.each_with_index {|o, i| print "#{i}: "; output_child(o); print "\n"}
55
- else
56
- output_child(obj)
57
- print "\n"
58
- end
59
- end
60
- ################################################################################
61
- def output_child (obj)
62
- print ": #{obj.class}"
63
-
64
- case obj
65
- when Float
66
- print ": #{obj}"
67
- when String
68
- print ": #{obj[0, 20].sub(/\n/, ' ')}"
69
- end
70
- end
71
- ################################################################################
72
- def cd (path)
73
- path = path.to_s
74
-
75
- if path[0,1] == "/"
76
- @pwd = path
77
- else
78
- @pwd = Pathname.new(@pwd + '/' + path).cleanpath.to_s
79
- end
80
- end
81
- ################################################################################
82
- def pwd
83
- @pwd
84
- end
85
- ################################################################################
86
- def ls (entry = nil)
87
- parts = @pwd.split('/')
88
- obj = @root
89
-
90
- parts.shift if parts[0] == ""
91
- parts.push(entry) if entry
92
-
93
- parts.each do |p|
94
- case obj
95
- when Hash
96
- unless obj.has_key?(p)
97
- puts "invalid path at #{p}"
98
- return
99
- end
100
- obj = obj[p]
101
-
102
- when Array
103
- obj = obj[p.to_i]
104
- end
105
-
106
- obj = @xref.object(obj)
107
- end
108
-
109
- output_parent(obj)
110
- "#{@pwd}: #{obj.class}"
111
- end
112
- ################################################################################
113
- end
114
- ################################################################################
115
- end
116
- ################################################################################