2013-03-09 6 views
2

Я пытаюсь создать PDF из каталога с кучей изображений в нем с использованием креветки. Код, который я до сих пор работает отлично, только с одной небольшой проблемой, он вставляет пустую страницу в начале PDF.Креветка создает пустую страницу при создании PDF из изображений

Поскольку я не обязательно знаю размеры изображений (кроме них примерно одинаковые, +/- 50 пикселей в любом измерении) Я использую RMagick для получения максимальных размеров изображений в каталоге поэтому я могу сосредоточить их на каждой странице с небольшим отрывом.

Вот код, раздели вниз только необходимые шаги для воспроизведения поведения:

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 

Это первый раз, когда я действительно сделал что-нибудь с Prawn раньше, так что, вероятно, что-то простое, что я пропавшими без вести ,

Если это имеет значение; Я использую Ruby 1.9.3-p327 и Prawn 0.12.0.

ответ

0

Похоже, что все, что вызывало эту проблему, было исправлено. Используя тот же код, что и выше, с Prawn 1.1.0 не создает пустую страницу перед другими страницами.

Смежные вопросы