gpt4 book ai didi

ruby - Prawn 图片生成PDF时出现空白页

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:42 34 4
gpt4 key购买 nike

我正在尝试使用 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。

最佳答案

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

关于ruby - Prawn 图片生成PDF时出现空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309339/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com