在自定义pdf文件中包含页码。 (导轨)

时间:2016-04-07 19:30:15

标签: html ruby-on-rails ruby pdf

我有一个rails应用程序,其中一次我们有一个下载的PDF。然而,我一直有的问题是在我的pdf文件的页脚中添加页码。我正在一个名为report_pdf_service.rb的文件中生成PDF,基本上该文件的作用是我调用一个pdf方法,该方法调用转换为html的其他方法。

def pdf(admin_fields = false)
  html << footer
  html << page_count
  html << '</body></html>'
  PDFKit.new(html).to_pdf
end


def footer
  "".tap do |html|
      html << <<-HTML
      <div>
        <div>Player ID: #{@report.player.id}</div>
        <div>Player Name: #{@report.player.name} </div>
      </div>
    HTML
  end
end

现在这就是我的尝试。我曾尝试使用PDFKit gem来做这件事,并且做了一些谷歌搜索,但没有取得太大的成功。我尝试在html中添加<meta />{:name => 'pdfkit-footer_right', :content => "[page]"}。 (正好在html中的玩家姓名条目下面......没有运气)

我尝试创建一个新方法

def page_count
  reader = PDFKit.new(html).to_pdf
  reader.page_count
end

....然后在页脚方法中调用它,但我一直在为我尝试创建的方法获取未定义的方法错误。有人会知道这是如何起作用的吗?

1 个答案:

答案 0 :(得分:0)

经过一夜工作后,我有解决这个问题的方法。

PDFKit gem如何工作的解决方案是在html字段中添加元数据。

html << %{<meta name='pdfkit-footer_right' content="Page [page] of [toPage]">}

我还发现这个博客,我发现它对pdfkits非常有用。 http://metaskills.net/2011/03/20/pdfkit-overview-and-advanced-usage/