10

我有多个使用 PDFKit 生成的页面。如何在底部添加页码?

4

4 回答 4

15
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 应用程序的一个总结。

于 2011-06-10T18:20:24.147 回答
13

你需要像这样指定一个页脚:

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' 类的元素将被适当的数据替换

于 2011-02-17T21:33:39.310 回答
10

我用 PDFKit 做了页码,只需添加以下内容:

%meta{:name => 'pdfkit-footer_right', :content => "[page]"}

在我的 haml 文件中,在我的 RoR 项目中。

于 2012-06-05T19:27:13.130 回答
0

出于某种奇怪的原因,(也许是因为我使用的是 slim) - 我必须在内容周围使用单引号,而不是双引号 - 否则它会尝试转义括号并显示原始文本“[page]”,所以如果您的页面遇到此问题,请尝试使用单引号。

于 2013-04-04T17:47:36.423 回答