header - WKHTMLTOPDF:如何在第一页上禁用标题

标签 header wkhtmltopdf

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

最佳答案

您尝试过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>

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

这是wkhtmltopdf的已知问题,很可能很快就不会得到解决,请参阅issue 566 in the issue tracker。我认为JavaScript选项是唯一可用的解决方法,但是如果您的输入html,样式和页面大小/边距非常可预测,则可以尝试使用div或手动拆分表-但要注意,这确实很烦人。

关于header - WKHTMLTOPDF:如何在第一页上禁用标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11948158/

相关文章:

php - curl 发送 Content-length header 的问题

Php 404 未找到 header

HTML/CSS : semi transparent header - without content/overlay

python - pdfkit错误: Exit with code 1 due to network error: ProtocolUnknownError

qt - WKHTMLTOPDF 在编译期间带有修补的 QT Ubuntu 14.04 错误

php - proc_open 在 Apache2 和 CLI 中给出不同的输出

c++ - “std_lib_facilities.h”显示错误

macos - 在 wkhtmltopdf 和 pdftk 中使用任何技巧来减小文件大小?

html - wkhtmltopdf 随机向最后一行添加额外的填充

HTML - 未显示链接的标题横幅