如何在pdfkit生成的pdf的特定页面中添加标题

发布于 2024-10-31 20:53:55 字数 610 浏览 2 评论 0原文

我目前正在 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

有人知道我该怎么做吗?

I'm currently using pdfkit in a 3.0.5 rails application to generate reports of user activity.
The pdf document is simple, first page it has some details about the user, a summary then
it has a table containing all the user's activity of the selected period.

First page is ok, but when I show the table the next pages must start with that header column titles in every page with the activity table header. (it remind a bank statement)
Something like this:

|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

Does anybody know how could I can do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌路终见情 2024-11-07 20:53:55

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

在你的 header 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 以编程方式将它们组合起来。

You should be able to use some javascript to alter the contents of the header, but only on certain pages.

in your header html have a hidden div with your table headers, but your first page header by default. Then with a javascript onload function do something like this:

<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>

You could also render out 2 different pdfs, and combine them programmatically with pdftk.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文