【发布时间】:2015-07-13 10:06:17
【问题描述】:
我正在寻找一种方法来执行以下操作
pdf.on_same_page do
pdf.text "foo"
pdf.imaage bar
pdf.table(baz)
....
end
换句话说,我想对几个元素进行分组,如果整个组可以放在页面上,则将其呈现在同一页面上,否则分页并将其全部呈现在下一页上(假设整个组可以适合单页) 这样的事情怎么完成?
【问题讨论】:
-
我明白你想要什么,但我想不出具体的方法。有一个选项可以模拟 TextBox 的渲染,称为 dry_run。您可以查看它以计算文本的高度。有了图像,您既可以获取之前的高度信息,也可以设置一个固定的高度,这样您就可以知道准确的高度。最后,通过表格,您还可以计算它有多少行并设置每行的高度。这样你就可以手动计算它的大小了。
-
我不认为Prawn有一种方法可以自动计算事物的高度,或者如果它不适合将事物移动到新页面。