2

我可以在大虾中生成pdf。如果生成的 pdf 是多页的,我需要显示一些文本。例如,如果生成的 pdf 超过一页,那么我必须在除最后一页之外的所有页面中显示“继续...”。如果 pdf 只是一页,那么我根本不想显示它。可能吗?

4

2 回答 2

3

我认为它应该工作:

if (num_pages = pdf.page_count) > 1
  pdf.repeat(lambda { |pg| pg < num_pages }) do
    pdf.draw_text "continued...", :at => [250, 20]
  end
end
于 2015-12-16T16:00:14.757 回答
1

Prawn'srepeat可以在任何选择的页面上打印文本。第一个参数采用命名键、数组、范围或 lambda。在您的情况下,您可以将除最后一页之外的所有页面定义为范围。

page_range = (1..(pdf.page_count - 1))
pdf.repeat(page_range) do
  pdf.draw_text "continued ..."
end
于 2019-01-03T04:06:11.257 回答