我的页脚文本可能不止一行,文本的长度会根据用户的姓名和他们工作的公司而有所不同。与所有页脚一样,它需要显示在文档的底部边界下方,以免与 PDF 的主要内容混杂在一起。
问题是,我在 Prawn 中找到将文本打印在文档底部边界下方的唯一原因是使用#draw_text。这与 number_pages 用于使其文本显示在文档底部边界下方的方法相同。然而,使用#draw_text 的一个警告似乎是它无法将文本换行到第二行。
我发现了许多允许我将文本换行到第二行的方法,例如#text_box、#bounding_box 等,但这些方法的警告是它们不允许您打印文档下限以下的任何内容。
例如,以下内容不会在文档上打印任何内容,因为它将低于文档的下界:
text_box "Generated by Tom Cruise for Universal Studios", :at => [bounds.left, 0], :width => 200
以下内容会打印在文档上,因为它在文档的底部边界内,但也将打印在已存在的任何内容之上:
text_box "Generated by Tom Cruise for Universal Studios", :at => [bounds.left, bounds.bottom - 20], :width => 200
最后,以下内容将打印在文档的底部下方,确保它不会打印在 PDF 中任何现有内容的顶部,但没有可用的 :width 选项或在需要时将文本换行到第二行的能力:
draw_text "Generated by Tom Cruise for Universal Studios", :at => [bounds.left, 0]
有没有办法两全其美?一种在文档底部边界下方打印并强制使用换行的最大宽度的方法?