pdftoimage 0.1.2 → 0.1.3

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.
@@ -1,3 +1,6 @@
1
+ === 0.1.3 / 2010-11-12
2
+ * Fixed a problem where PDF documents with more than 9 pages were not parsing properly. (embarrassing 0 padding problem.)
3
+
1
4
  === 0.1.2 / 2010-11-11
2
5
  * Added support for blocks upon opening a PDF
3
6
  * Image objects now support the "quality" method for JPEG/MIFF/PNG compression levels.
@@ -20,6 +20,11 @@ to be able to parse without error.
20
20
  img.resize('50%').save("output/page-#{img.page}.jpg")
21
21
  end
22
22
 
23
+ require 'pdftoimage'
24
+ PDFToImage.open('anotherpdf.pdf') do |page|
25
+ page.resize('150').quality('80%').save('out/thumbnail-#{page.page}.jpg")
26
+ end
27
+
23
28
  == Requirements
24
29
 
25
30
  poppler_utils
@@ -42,7 +42,7 @@ module PDFToImage
42
42
 
43
43
  1.upto(pages) { |n|
44
44
  dimensions = page_size(filename, n)
45
- image = Image.new(filename, random_filename, n, dimensions)
45
+ image = Image.new(filename, random_filename, n, dimensions, pages)
46
46
  images << image
47
47
  }
48
48
 
@@ -28,7 +28,7 @@ module PDFToImage
28
28
  # Image constructor
29
29
  #
30
30
  # @param [filename] The name of the image file to open
31
- def initialize(pdf_name, filename, page, page_size)
31
+ def initialize(pdf_name, filename, page, page_size, page_count)
32
32
  @args = []
33
33
 
34
34
  @pdf_name = pdf_name
@@ -36,6 +36,7 @@ module PDFToImage
36
36
  @opened = false
37
37
  @width = page_size[:width]
38
38
  @height = page_size[:height]
39
+ @page_count = page_count
39
40
 
40
41
  @page = page
41
42
  end
@@ -77,13 +78,23 @@ module PDFToImage
77
78
  if @opened == false
78
79
  cmd = "pdftoppm -png -f #{@page} -l #{@page} #{@pdf_name} #{@filename}"
79
80
  PDFToImage::exec(cmd)
80
- @filename = "#{@filename}-#{@page}.png"
81
+ @filename = "#{@filename}-#{page_suffix}.png"
81
82
  @opened = true
82
83
  end
83
84
 
84
85
  return true
85
86
  end
86
87
 
88
+ def page_suffix
89
+ len = @page.to_s.length
90
+ if len == @page_count.to_s.length
91
+ @page
92
+ end
93
+
94
+ padded = '0' * (@page_count.to_s.length-len) + @page.to_s
95
+ padded
96
+ end
97
+
87
98
  end
88
99
 
89
100
  end
@@ -1,4 +1,4 @@
1
1
  module PDFToImage
2
2
  # pdftoimage version
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
Binary file
@@ -34,6 +34,18 @@ describe PDFToImage do
34
34
  counter.should equal 3
35
35
  end
36
36
 
37
+ it "should parse multi-digit page counts" do
38
+ counter = 0
39
+ PDFToImage.open('spec/11pages.pdf') do |page|
40
+ result = page.save("spec/11pg-#{page.page}.jpg")
41
+ File.exists?("spec/11pg-#{page.page}.jpg").should equal true
42
+ File.unlink("spec/11pg-#{page.page}.jpg")
43
+ counter = counter + 1
44
+ end
45
+
46
+ counter.should equal 11
47
+ end
48
+
37
49
 
38
50
  end
39
51
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdftoimage
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Rob Flynn
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-11 00:00:00 +00:00
18
+ date: 2010-11-13 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -63,6 +63,7 @@ extra_rdoc_files:
63
63
  files:
64
64
  - spec/spec_helper.rb
65
65
  - spec/3pages.pdf
66
+ - spec/11pages.pdf
66
67
  - lib/pdftoimage/version.rb
67
68
  - gemspec.yml
68
69
  - ChangeLog.rdoc