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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/workspace-pdf.rb +33 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27106a044eb69332f8107a67475fe25e04eaaf10
4
- data.tar.gz: 96406282f4e657e0e2dec0a322dc2ed64b69cbc4
3
+ metadata.gz: dd8a8bda97dfb0a41403c4895d88c1c2fd0d943a
4
+ data.tar.gz: c6d144edbb4c70e0b7842cac1a4c4504aaf4a541
5
5
  SHA512:
6
- metadata.gz: 67dd48f23f30b720f1398bac2e8afa04b6636c5afd9b56754b29ae6afdd5f811fd1a75a02499e76d995240564d8b4589d15887b88243b99bdbe5aa0a0b0a4223
7
- data.tar.gz: f9b0a79c4df776d334d8bfc991f9fde162dbbe5e4584cfe1822ae2602325521e03db6c3f67076c5db72b157e7f3ae9795ad2815b49ced8212eec19f2795d6cb0
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
- end
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
- self.pages.each do |page|
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, :index
34
+ attr_reader :pdf, :page
34
35
 
35
36
  def initialize(pdf, page)
36
37
  @pdf = pdf
37
38
  @page = page
38
- @index = page.index
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.8
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-01-19 00:00:00.000000000 Z
11
+ date: 2018-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: workspace