pdf_editor 0.0.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.
@@ -0,0 +1,69 @@
1
+ %PDF-1.3
2
+ %����
3
+ 1 0 obj
4
+ << /Creator <feff0050007200610077006e>
5
+ /Producer <feff0050007200610077006e>
6
+ >>
7
+ endobj
8
+ 2 0 obj
9
+ << /Type /Catalog
10
+ /Pages 3 0 R
11
+ >>
12
+ endobj
13
+ 3 0 obj
14
+ << /Type /Pages
15
+ /Count 1
16
+ /Kids [5 0 R]
17
+ >>
18
+ endobj
19
+ 4 0 obj
20
+ << /Length 63
21
+ >>
22
+ stream
23
+ q
24
+
25
+ BT
26
+ 232.64 697.28 Td
27
+ /F1.0 40 Tf
28
+ [<6d657267652031>] TJ
29
+ ET
30
+
31
+ Q
32
+
33
+ endstream
34
+ endobj
35
+ 5 0 obj
36
+ << /Type /Page
37
+ /Parent 3 0 R
38
+ /MediaBox [0 0 612.0 792.0]
39
+ /Contents 4 0 R
40
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
41
+ /Font << /F1.0 6 0 R
42
+ >>
43
+ >>
44
+ >>
45
+ endobj
46
+ 6 0 obj
47
+ << /Type /Font
48
+ /Subtype /Type1
49
+ /BaseFont /Helvetica
50
+ /Encoding /WinAnsiEncoding
51
+ >>
52
+ endobj
53
+ xref
54
+ 0 7
55
+ 0000000000 65535 f
56
+ 0000000015 00000 n
57
+ 0000000109 00000 n
58
+ 0000000158 00000 n
59
+ 0000000215 00000 n
60
+ 0000000328 00000 n
61
+ 0000000506 00000 n
62
+ trailer
63
+ << /Size 7
64
+ /Root 2 0 R
65
+ /Info 1 0 R
66
+ >>
67
+ startxref
68
+ 603
69
+ %%EOF
@@ -0,0 +1,69 @@
1
+ %PDF-1.3
2
+ %����
3
+ 1 0 obj
4
+ << /Creator <feff0050007200610077006e>
5
+ /Producer <feff0050007200610077006e>
6
+ >>
7
+ endobj
8
+ 2 0 obj
9
+ << /Type /Catalog
10
+ /Pages 3 0 R
11
+ >>
12
+ endobj
13
+ 3 0 obj
14
+ << /Type /Pages
15
+ /Count 1
16
+ /Kids [5 0 R]
17
+ >>
18
+ endobj
19
+ 4 0 obj
20
+ << /Length 63
21
+ >>
22
+ stream
23
+ q
24
+
25
+ BT
26
+ 232.64 697.28 Td
27
+ /F1.0 40 Tf
28
+ [<6d657267652032>] TJ
29
+ ET
30
+
31
+ Q
32
+
33
+ endstream
34
+ endobj
35
+ 5 0 obj
36
+ << /Type /Page
37
+ /Parent 3 0 R
38
+ /MediaBox [0 0 612.0 792.0]
39
+ /Contents 4 0 R
40
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
41
+ /Font << /F1.0 6 0 R
42
+ >>
43
+ >>
44
+ >>
45
+ endobj
46
+ 6 0 obj
47
+ << /Type /Font
48
+ /Subtype /Type1
49
+ /BaseFont /Helvetica
50
+ /Encoding /WinAnsiEncoding
51
+ >>
52
+ endobj
53
+ xref
54
+ 0 7
55
+ 0000000000 65535 f
56
+ 0000000015 00000 n
57
+ 0000000109 00000 n
58
+ 0000000158 00000 n
59
+ 0000000215 00000 n
60
+ 0000000328 00000 n
61
+ 0000000506 00000 n
62
+ trailer
63
+ << /Size 7
64
+ /Root 2 0 R
65
+ /Info 1 0 R
66
+ >>
67
+ startxref
68
+ 603
69
+ %%EOF
@@ -0,0 +1 @@
1
+ This is not a pdf
@@ -0,0 +1,98 @@
1
+ %PDF-1.3
2
+ %����
3
+ 1 0 obj
4
+ << /Creator <feff0050007200610077006e>
5
+ /Producer <feff0050007200610077006e>
6
+ >>
7
+ endobj
8
+ 2 0 obj
9
+ << /Type /Catalog
10
+ /Pages 3 0 R
11
+ >>
12
+ endobj
13
+ 3 0 obj
14
+ << /Type /Pages
15
+ /Count 2
16
+ /Kids [5 0 R 8 0 R]
17
+ >>
18
+ endobj
19
+ 4 0 obj
20
+ << /Length 64
21
+ >>
22
+ stream
23
+ q
24
+
25
+ BT
26
+ 36 747.384 Td
27
+ /F1.0 12 Tf
28
+ [<50> 40 <6167652031>] TJ
29
+ ET
30
+
31
+ Q
32
+
33
+ endstream
34
+ endobj
35
+ 5 0 obj
36
+ << /Type /Page
37
+ /Parent 3 0 R
38
+ /MediaBox [0 0 612.0 792.0]
39
+ /Contents 4 0 R
40
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
41
+ /Font << /F1.0 6 0 R
42
+ >>
43
+ >>
44
+ >>
45
+ endobj
46
+ 6 0 obj
47
+ << /Type /Font
48
+ /Subtype /Type1
49
+ /BaseFont /Helvetica
50
+ /Encoding /WinAnsiEncoding
51
+ >>
52
+ endobj
53
+ 7 0 obj
54
+ << /Length 64
55
+ >>
56
+ stream
57
+ q
58
+
59
+ BT
60
+ 36 747.384 Td
61
+ /F1.0 12 Tf
62
+ [<50> 40 <6167652032>] TJ
63
+ ET
64
+
65
+ Q
66
+
67
+ endstream
68
+ endobj
69
+ 8 0 obj
70
+ << /Type /Page
71
+ /Parent 3 0 R
72
+ /MediaBox [0 0 612.0 792.0]
73
+ /Contents 7 0 R
74
+ /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
75
+ /Font << /F1.0 6 0 R
76
+ >>
77
+ >>
78
+ >>
79
+ endobj
80
+ xref
81
+ 0 9
82
+ 0000000000 65535 f
83
+ 0000000015 00000 n
84
+ 0000000109 00000 n
85
+ 0000000158 00000 n
86
+ 0000000221 00000 n
87
+ 0000000335 00000 n
88
+ 0000000513 00000 n
89
+ 0000000610 00000 n
90
+ 0000000724 00000 n
91
+ trailer
92
+ << /Size 9
93
+ /Root 2 0 R
94
+ /Info 1 0 R
95
+ >>
96
+ startxref
97
+ 902
98
+ %%EOF
@@ -0,0 +1,19 @@
1
+ require 'pdf_editor/resource'
2
+
3
+ module PdfEditor
4
+ module ResourceHelper
5
+
6
+ def get_resource(doc_name, name=nil)
7
+ resource = nil
8
+ file_path = ::File.join(::File.dirname(__FILE__), 'docs', doc_name)
9
+ ::File.open(file_path, 'r') do |f|
10
+ ::Tempfile.open(['', '.pdf']) do |tf|
11
+ tf.write f.read
12
+ resource = PdfEditor::Resource.new(tf, name)
13
+ end
14
+ end
15
+ return resource
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ require 'bundler/setup'
2
+ Bundler.setup
3
+
4
+ require 'pdf_editor'
5
+ require 'support/resource_helper'
6
+ require 'pry'
7
+
8
+ RSpec.configure do |config|
9
+
10
+ config.include PdfEditor::ResourceHelper
11
+
12
+ end
@@ -0,0 +1,15 @@
1
+ require 'support/spec_helper'
2
+
3
+ module PdfEditor
4
+ describe TableOfContents do
5
+
6
+ describe '#call' do
7
+
8
+ it 'raises an error when there are no resources' do
9
+ expect{PdfEditor::TableOfContents.call}.to raise_error PdfEditor::Errors::ResourcesEmptyError
10
+ end
11
+
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,35 @@
1
+ require 'support/spec_helper'
2
+
3
+ module PdfEditor
4
+ describe TitlePage do
5
+
6
+ it 'raises an error when no title is passed' do
7
+ expect{TitlePage.call}.to raise_error PdfEditor::Errors::TitlePageTitleError
8
+ end
9
+
10
+ it 'does not raise an error when an empty title is passed' do
11
+ expect{TitlePage.call(title: '')}.to_not raise_error
12
+ end
13
+
14
+ describe '#call' do
15
+
16
+ before :each do
17
+ @ret = TitlePage.call(title: 'this is a title')
18
+ end
19
+
20
+ it 'returns a resource' do
21
+ expect(@ret).to be_instance_of PdfEditor::Resource
22
+ end
23
+
24
+ it 'resource has the contents of the title' do
25
+ contents = ''
26
+ @ret.open_file do |f|
27
+ contents = PDF::Reader.new(f).pages[0].text
28
+ end
29
+ expect(contents).to eq 'this is a title'
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,210 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pdf_editor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - bradwheel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: prawn
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: pdf-reader
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: docsplit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.7.5
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.7.5
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.6'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.6'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pdf-inspector
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: Edits Pdf's
126
+ email:
127
+ - bradley.m.wheel@gmail.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - ".gitignore"
133
+ - ".rspec"
134
+ - Gemfile
135
+ - LICENSE.txt
136
+ - README.md
137
+ - Rakefile
138
+ - lib/pdf_editor.rb
139
+ - lib/pdf_editor/bundle.rb
140
+ - lib/pdf_editor/merge.rb
141
+ - lib/pdf_editor/mixins/errors.rb
142
+ - lib/pdf_editor/mixins/pdf_runner.rb
143
+ - lib/pdf_editor/mixins/prawn_dsl.rb
144
+ - lib/pdf_editor/mixins/service.rb
145
+ - lib/pdf_editor/remove_pages.rb
146
+ - lib/pdf_editor/reorder.rb
147
+ - lib/pdf_editor/resource.rb
148
+ - lib/pdf_editor/rotate_page.rb
149
+ - lib/pdf_editor/shuffle.rb
150
+ - lib/pdf_editor/table_of_contents.rb
151
+ - lib/pdf_editor/title_page.rb
152
+ - lib/pdf_editor/version.rb
153
+ - pdf_editor.gemspec
154
+ - spec/bundle_spec.rb
155
+ - spec/merge_spec.rb
156
+ - spec/remove_pages_spec.rb
157
+ - spec/reorder_spec.rb
158
+ - spec/resource_spec.rb
159
+ - spec/rotate_page_spec.rb
160
+ - spec/shuffle_spec.rb
161
+ - spec/support/docs/five_page.pdf
162
+ - spec/support/docs/merge_1.pdf
163
+ - spec/support/docs/merge_2.pdf
164
+ - spec/support/docs/not_a_pdf.txt
165
+ - spec/support/docs/two_page.pdf
166
+ - spec/support/resource_helper.rb
167
+ - spec/support/spec_helper.rb
168
+ - spec/table_of_contents_spec.rb
169
+ - spec/title_page_spec.rb
170
+ homepage: ''
171
+ licenses:
172
+ - MIT
173
+ metadata: {}
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubyforge_project:
190
+ rubygems_version: 2.2.2
191
+ signing_key:
192
+ specification_version: 4
193
+ summary: Edits Pdf's
194
+ test_files:
195
+ - spec/bundle_spec.rb
196
+ - spec/merge_spec.rb
197
+ - spec/remove_pages_spec.rb
198
+ - spec/reorder_spec.rb
199
+ - spec/resource_spec.rb
200
+ - spec/rotate_page_spec.rb
201
+ - spec/shuffle_spec.rb
202
+ - spec/support/docs/five_page.pdf
203
+ - spec/support/docs/merge_1.pdf
204
+ - spec/support/docs/merge_2.pdf
205
+ - spec/support/docs/not_a_pdf.txt
206
+ - spec/support/docs/two_page.pdf
207
+ - spec/support/resource_helper.rb
208
+ - spec/support/spec_helper.rb
209
+ - spec/table_of_contents_spec.rb
210
+ - spec/title_page_spec.rb