我想在 Prawn 中模拟表格的行为,但无法使用表格,因为我可以在单元格内绘制的内容受到限制。
因此,我使用边界框来为每行内的元素创建上下文。我遇到的问题与行有关。
我正在尝试这个:
require 'prawn'
Prawn::Document.generate("test.pdf") do
move_down 50
bounding_box [0, cursor], width: bounds.width do
20.times do |i|
stroke_bounds && start_new_page if (i+1) % 11 == 0
bounding_box [0, cursor], width: bounds.width, height: 50 do
fill_color "cccccc"
fill_rectangle [0, bounds.height], bounds.width, bounds.height
end
end
stroke_bounds
end
end
但我觉得这非常hacky并且不是最佳的,因为包含的bounding_box在start_new_page之后无法重新定位(我希望它开始得更高一点),而且我必须手动指定页面的位置发生中断(在本例中每 11 个元素)。我尝试与bounds.parent.height
并用光标检查是否到达末尾,但似乎bounds.height
即使分页后也会增加。
您对如何改进此解决方案有什么建议吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)