Как добавить номера страниц в PDFKit-сгенерированные PDF-файлы? - PullRequest
10 голосов
/ 17 февраля 2011

У меня есть несколько страниц, созданных с использованием PDFKit.Как добавить номера страниц внизу?

Ответы [ 4 ]

15 голосов
/ 10 июня 2011
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 - это просто завершение работы приложения wkhtmltopdf, написанного на языке C.

13 голосов
/ 18 февраля 2011

вам нужно указать нижний колонтитул, как это:

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 'будут заменены соответствующими данными

10 голосов
/ 05 июня 2012

Я сделал номер страницы с PDFKit, просто добавив это:

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

в моем файле haml, в моем проекте RoR.

0 голосов
/ 04 апреля 2013

По какой-то странной причине (возможно, потому, что я использую slim) - мне приходится использовать одинарные кавычки вокруг содержимого вместо двойных кавычек - иначе он пытается убрать скобки и текст «[page]»вверх, поэтому попробуйте одинарные кавычки, если вы столкнулись с этой проблемой на ваших страницах.

...