我有一个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
....然后在页脚方法中调用它,但我一直在为我尝试创建的方法获取未定义的方法错误。有人会知道这是如何起作用的吗?
答案 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/