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 に答える