pdftoimage 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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