2

我正在尝试从用户生成的内容构建 PDF,并且我有大量信息应该组合在一起。我知道group确保文本全部呈现在一起的方法,但这似乎不适用于文本和图像的混合。有什么东西可以用 Prawn 做到这一点,还是我需要尝试计算光标位置并手动换行?

编辑:为了说明我想要做什么:

pdf = PDF::Document.new
20.times do
  pdf.group do
    pdf.text "Something"
    pdf.image "path/to/image.jpg"
    pdf.text Time.now.to_s
  end
end

而且我希望永远不会在一页上出现“某事”而在下一页上没有图像,但这就是我所看到的。有什么方法可以实现我想要的吗?

4

1 回答 1

3

好的,我已经想通了。Prawn 在分组时似乎没有考虑图像高度,但你可以绕过它:

pdf.group do
  pdf.text "Best regards, (...)"
  pdf.image "#{Rails.root}/vendor/signature.jpg", {
    :height => 30,
    :at => [0, pdf.y.to_i - @bottom_margin]
  }
  pdf.move_down(35)
  pdf.text " "
end

诀窍是对图像使用绝对定位,并手动向下移动文本光标。

于 2012-11-06T11:17:28.480 回答