2013-03-09 79 views
2

我試圖從一個目錄中生成一個使用蝦的一堆圖像的PDF。我迄今爲止的代碼完美地工作,只有一個小問題,它在PDF的開頭插入一個空白頁。由於我不一定知道圖像的大小(除了它們大約相同,在任何一個維度上都是+/- 50像素),我使用RMagick來獲取目錄中圖像的最大尺寸所以我可以將它們放在每頁都有一點餘量的位置。蝦從圖像生成PDF時生成空白頁

這裏的剝離下來,只是必要步驟的代碼重現行爲:

require 'rmagick' 
require 'prawn' 

# Page files always have a name in the form of 'page_#.jpg' 
pages = Dir.glob('*.jpg').sort_by { |file| file.split('_')[1].to_i } 

# There's probably a better way to do this part, but the naive way works just fine, so whatever... 
widths = Array.new 

heights = Array.new 

pages.each do |page| 
    image = Magick::Image::read(page).first 

    widths << image.columns 

    heights << image.rows 
end 

Prawn::Document.generate('test.pdf', :page_size => [widths.max + 36, heights.max + 36]) do |pdf| 
    pages.each do |page| 
    pdf.image page, :position => :center, :vposition => :center 
    end 
end 

這是第一次我以前真的做什麼用蝦所以有可能是一些簡單的我失蹤。

如果有關係;我正在使用Ruby 1.9.3-p327和Prawn 0.12.0。

回答

0

看來,無論是造成這個問題已得到解決。使用與上述1.1.0版相同的代碼不會在其他頁面之前生成空白頁面。