【发布时间】:2011-02-17 19:36:56
【问题描述】:
我有多个使用 PDFKit 生成的页面。如何在底部添加页码?
【问题讨论】:
标签: ruby-on-rails pdfkit
我有多个使用 PDFKit 生成的页面。如何在底部添加页码?
【问题讨论】:
标签: ruby-on-rails pdfkit
PDFKit.configure do |config|
config.default_options = {
header_right: "Page [page] of [toPage]"
}
end
kit = PDFKit.new(body_html)
在此处阅读所有详细文档:
http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltopdf-0.9.9-doc.html
PDFKit 只是对用 C 编写的 wkhtmltopdf 应用程序的一个总结。
【讨论】:
footer_html 选项,此解决方案将不起作用。
您需要像这样指定页脚:
kit = PDFKit.new(your_html_content_for_pdf, :footer_html => "#{path_to_a_footer_html_file}")
然后在页脚文件中有这个:
<html>
<head>
<script type="text/javascript">
function subst() {
var vars={};
var x=document.location.search.substring(1).split('&');
for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
for(var i in x) {
var y = document.getElementsByClassName(x[i]);
for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
</script>
</head>
<body style="margin: 0;" onload="subst();">
Page <span class="page"></span> of <span class="topage"></span>
</body>
</html>
'frompage'、'topage'、'page'、'webpage'、'section'、'subsection'、'subsubsection' 类的元素将被适当的数据替换
【讨论】:
我用 PDFKit 做了页码,只是添加了这个:
%meta{:name => 'pdfkit-footer_right', :content => "[page]"}
在我的 haml 文件中,在我的 RoR 项目中。
【讨论】:
出于某种奇怪的原因,(可能是因为我使用的是 slim)——我必须在内容周围使用单引号,而不是双引号——否则它会尝试转义括号并显示原始文本“[page]”向上,所以如果您的页面遇到此问题,请尝试使用单引号。
【讨论】: