2

我目前在 3.0.5 rails 应用程序中使用 pdfkit 来生成用户活动报告。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

有谁知道我该怎么做?

4

1 回答 1

1

您应该能够使用一些 javascript 来更改标题的内容,但仅限于某些页面。

在您的标题 html 中有一个带有表标题的隐藏 div,但默认情况下是您的第一页标题。然后使用 javascript onload 函数执行以下操作:

<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 结合起来。

于 2011-04-21T23:00:33.763 回答