workspace-pdf 1.0.8 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/workspace-pdf.rb +33 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd8a8bda97dfb0a41403c4895d88c1c2fd0d943a
|
4
|
+
data.tar.gz: c6d144edbb4c70e0b7842cac1a4c4504aaf4a541
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e2db445468e381218290c2533563afc3b230f1863e541fd01837fea28d6738963192ca86f767de67ae471011cd2b6c2c218725f310d3a0e2b06b492ba50fc10
|
7
|
+
data.tar.gz: 109da6f61189dd89d7258ae44dcf9284123460e2441aca773c8c7ef90486c50eddab95809e511de9d45d1065d2ba69a7482342b68d13970e87639dace4e5e01d
|
data/workspace-pdf.rb
CHANGED
@@ -11,31 +11,55 @@ module Workspace
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class Pdf
|
14
|
-
attr_reader :file
|
14
|
+
attr_reader :file, :document, :pages
|
15
15
|
|
16
16
|
def initialize(file)
|
17
17
|
@file = file
|
18
|
-
|
19
|
-
|
20
|
-
def pages
|
21
|
-
@doc ||= Poppler::Document.new(@file.to_s)
|
22
|
-
@doc.pages.map { |page| PdfPage.new(self, page) }
|
18
|
+
@document = Poppler::Document.new(@file.to_s)
|
19
|
+
@pages = @document.pages.map { |page| PdfPage.new(self, page) }
|
23
20
|
end
|
24
21
|
|
25
22
|
def export(output_dir, filename: 'page-%03d.png', width: nil, &block)
|
26
|
-
|
23
|
+
pages.each do |page|
|
27
24
|
page.export(output_dir.file(filename % page.index), { width: width }, &block)
|
28
25
|
end
|
29
26
|
end
|
27
|
+
|
28
|
+
def size
|
29
|
+
document.size
|
30
|
+
end
|
30
31
|
end
|
31
32
|
|
32
33
|
class PdfPage
|
33
|
-
attr_reader :pdf, :page
|
34
|
+
attr_reader :pdf, :page
|
34
35
|
|
35
36
|
def initialize(pdf, page)
|
36
37
|
@pdf = pdf
|
37
38
|
@page = page
|
38
|
-
|
39
|
+
end
|
40
|
+
|
41
|
+
def index
|
42
|
+
page.index
|
43
|
+
end
|
44
|
+
|
45
|
+
def number
|
46
|
+
page.index + 1
|
47
|
+
end
|
48
|
+
|
49
|
+
def title
|
50
|
+
"Page #{number}"
|
51
|
+
end
|
52
|
+
|
53
|
+
def width
|
54
|
+
page.size[0]
|
55
|
+
end
|
56
|
+
|
57
|
+
def height
|
58
|
+
page.size[1]
|
59
|
+
end
|
60
|
+
|
61
|
+
def ratio
|
62
|
+
width / height
|
39
63
|
end
|
40
64
|
|
41
65
|
def export(output_file, width: nil, &block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workspace-pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Strebitzer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: workspace
|