我在 Prawn 中使用 column_box。它运行良好,但与我在底部用作页脚的 bounding_box 重叠。

如何防止它重叠,但不调整边界框的高度?

我可以解释更多关于为什么我不想调整高度的信息,但我认为它与这个问题无关。这是我的代码:

def test_section
  column_box([0,cursor], :columns => 2, :width => 396) do
    text ("This is text" * 10 + "This is too\n") * 25
    stroke_color (50,0,50,0)
    stroke_bounds
  end

  bounding_box [margin_box.left, margin_box.bottom + 72], :width => bounds.width, :height => 72 do
    font "Helvetica" do
      stroke_color (0,0,100,0)
      stroke_bounds
      text "And here's a sexy footer", :size => 16
    end
  end
end

谢谢,
安东尼

最佳答案

我也遇到了这个问题,并找到了解决方案。如果你给 column_box 一个最大高度,它会阻止它流入页脚。不知道如何将其限制在最后一页,但我在每一页上都有页脚(使用 bounding_box 周围的“repeat :all”完成)。

    column_box([0,cursor], :columns => 2, :width => 396, :height => bounds.height - 80) do
        text ("This is text" * 10 + "This is too\n") * 25
        stroke_bounds
      end

    repeat :all do
      bounding_box [margin_box.left, margin_box.bottom + 72], :width => bounds.width, :height => 72 do
        font "Helvetica" do
          stroke_bounds
          text "And here's a sexy footer", :size => 16
        end
      end
    end

如果您不使用 column_box,请将您的页面内容放在具有高度限制的 bounding_box 中。
bounding_box([bounds.left, bounds.top], :width  => bounds.width, :height => bounds.height - 80) do
  #page content
end

干杯,
戴夫

关于ruby-on-rails - Prawn 保持 bounding_box 不重叠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18364464/

10-14 06:55