Как добавить заголовки на определенных страницах pdfkit генерируется pdfs - PullRequest
2 голосов
/ 13 апреля 2011

В настоящее время я использую pdfkit в приложении rails 3.0.5 для генерации отчетов о действиях пользователей.Документ в формате pdf прост, на первой странице он содержит некоторые сведения о пользователе, сводку, а затем таблицу с информацией обо всех действиях пользователя за выбранный период.

Первая страница в порядке, но когда я показываю таблицуСледующие страницы должны начинаться с заголовков столбцов на каждой странице с заголовком таблицы действий.(напоминает выписку из банка) Примерно так:

|user   |action   | source  | destination  |date-time          |
 xxx     1          1         2             2011-04-01 hh:mm:ss
 ....
 ====================page break=================================
 #after page break the column titles must be printed again

|user   |action   | source  | destination  |date-time          |
 xxx     5          4         5             2011-04-05 hh:mm:ss

Кто-нибудь знает, как я могу это сделать?

1 Ответ

1 голос
/ 22 апреля 2011

Вы должны иметь возможность использовать некоторый JavaScript для изменения содержимого заголовка, но только на определенных страницах.

в вашем заголовке html есть скрытый div с заголовками таблиц, но заголовок вашей первой страницы по умолчанию. Затем с помощью функции загрузки javascript сделайте что-то вроде этого:

<html>
  <head>
    <script type='text/javascript'>
      function swap_header() {
        var pages = document.getElementsByClassName('header');
        for (var i=0; i<pages.length; ++i) {
          if ( i > 0 ) {
            pages[i].innerHTML = '<table><thead><th>user</th><th>action</th></thead></table>';
          }
        }
      }
    </script>
  </head>
  <body onload='swap_header()'>
    <div class='header'>Normal 1st page header</div>
    <table>
     <tr><td>foo</td><td>bar</td></tr>
    </table>
  </body>
</html>

Вы также можете визуализировать 2 разных PDF-файла и программно объединить их с pdftk.

...