在 rails 应用程序上使用 Prawn gem 重复页脚与当前页和每页的总页数,但与当前页码重叠

Using Prawn gem on rails app repeating footer with current page and total page count on each page , but getting overlapping current page number

这是我的代码

repeat :all do
  # footer
  bounding_box [bounds.left, bounds.bottom + 35], :width  => bounds.width do
    font "Helvetica"
    move_down(15)
    number_pages "Page <page> of <total>",
                 { :start_count_at => 1, :page_filter => :all,:at => [bounds.right - 50, 0],
                   :align => :right,
                   :size => 8}
  end
end

并且当前错误结果与当前页码重叠,如 "Page 12(1 and 2 overlaps on itself) of 2" ...但最后一页结果如 "Page 2 of 2" 是正确的

解决方法是使用canvas代替repeat :all

这是可行的解决方案:

canvas do
  bounding_box [bounds.left, bounds.bottom + 50], :width  => bounds.width do
    font "Helvetica"
    move_down(15)
    number_pages "Page <page> of <total>",
                 { :start_count_at => 1, :page_filter => :all,:at => [bounds.right - 70, 10],
                   :size => 8}
    move_down(8)
    number_pages "This is an automatically generated certificate from BlaBla (blabla.com)", :size => 8, :align => :center,:at => [0, 0]
    number_pages "Downloaded on #{Date.today.to_formatted_s(:long)} by #{@user.full_name}", :size => 8, :align => :center,:at => [0, 10]
  end
end