【问题标题】:Group text and images as a block with Prawn?用 Prawn 将文本和图像分组为一个块?
【发布时间】:2012-09-05 15:33:27
【问题描述】:

我正在尝试从用户生成的内容构建 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

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

【问题讨论】:

    标签: ruby pdf prawn


    【解决方案1】:

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

    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
    

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

    【讨论】:

      猜你喜欢
      • 2017-02-23
      • 1970-01-01
      • 2014-12-15
      • 2011-10-24
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      相关资源
      最近更新 更多