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。