我正在尝试生成复杂的pdf报告。我唯一的问题是阻止文本框从页面流出(因为它们没有被看到)。只要看到它们,它们就可以流到下一页。
我在prawn中使用text_box和move_down方法进行定位。
以下是一个例子:
def work_order_info(work_order, pdf)
pdf.text_box '1/2/15', width: 80, at: [0, pdf.y], size: 9
pdf.text_box '123', width: 50, at: [71, pdf.y], size: 9
pdf.text_box 'Testing', width: 400, at: [150, pdf.y], size: 9
pdf.text_box ''Testing, width: 75, at: [580, pdf.y], size: 9
internal_comment(work_order, pdf) unless true
work_logs(work_order, pdf) unless work_order.work_log.count > 0
pdf.move_down 30 #If page end is reach doesn't flow to a new page
end
感谢您的帮助。
答案 0 :(得分:0)
我为我找到了一个解决方案,我只是检查y位置是否为负数以及是否开始新页面。像这样:
pdf.start_new_page if pdf.y - 10 < 0