WKHTMLTOPDF:如何禁用第一页上的标题

Mic*_*l S 8 header wkhtmltopdf

wkhtml不会像每个页面那样重复表格元素"th".所以我认为可以简单地使用--header-html选项并以这种方式手动添加表头.但是我不希望它们出现在第一页,因为已经有表头,加上其他一些第一页的东西......我找到了一些JS解决方案,但它对我来说太复杂了,因为我只知道它的基础知识JS ......有什么想法吗?

Nen*_*lep 18

你试过JS解决方案了吗?实际上并没有那么复杂.我刚刚用一个长html文件进行了测试,该文件包含一个分成许多不同页面的表,我设法使用这个头文件从第1页和第3页删除了标题:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script>
        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]];

            if(vars['page'] == 1){ // If page is 1, set FakeHeaders display to none
               document.getElementById("FakeHeaders").style.display = 'none';
            }

            if(vars['page'] == 3) { // If page is 3, set FakeHeaders display to none
                document.getElementById("FakeHeaders").style.display = 'none';
            }
          }
        }
        </script>
    </head>
    <body style="border:0;margin:0;" onload="subst()">
        <table style="border-bottom: 1px solid pink; width: 100%; margin-bottom:5px;" id="FakeHeaders">
          <tr>
            <th>Your awesome table column header 1</th>
            <th>Column 2</th>
            <th style="text-align:right">
                Page <span class="page"></span>/<span class="topage"></span>
            </th>
          </tr>
        </table>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

它们的关键点不是表"标题"包含在具有ID"FakeHeaders"的表中.加载正文时运行javascript函数subst(),并在函数期间检查当前页面是否为1或者当前页面是否为3,如果是,则将FakeHeaders设置为不可见.您将需要使用边距和CSS来使它看起来像你想要的但这应该工作.

这是wkhtmltopdf的已知问题,很可能很快就不会修复,请参阅问题跟踪器中的问题566.我认为JavaScript选项是唯一可用的解决方法,但如果您的输入html,样式和页面大小/边距非常可预测,您可以尝试使用div或手动拆分表 - 但要注意,它会非常烦人.

  • 是的,这并没有删除添加到第一页的边距,所以它仍然会造成一团糟。 (2认同)