【问题标题】:Prawn produces blank page when generating PDF from images大虾从图像生成PDF时产生空白页
【发布时间】:2013-03-09 09:48:04
【问题描述】:

我正在尝试使用 Prawn 从包含一堆图像的目录生成 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。

【问题讨论】:

    标签: ruby pdf pdf-generation prawn


    【解决方案1】:

    看来导致此问题的任何原因都已得到修复。在 Prawn 1.1.0 中使用与上述相同的代码不会在其他页面之前产生空白页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多