Wkhtmltopdf在body html内获取页面计数

wkhtmltopdf getting page count inside body html

本文关键字:获取 body html Wkhtmltopdf      更新时间:2023-09-26

在我的应用程序中,我生成具有分隔的页眉,页脚和正文的pdf。在一些pdf中,我包含了一个带颜色的侧边栏,我面临的问题是我需要计算侧边栏的高度。我知道两个页面的完美高度是1100px的高度,现在我想包括javascript在我的例子中,以获得总页面,所以我可以计算一个新的高度的侧边栏。

我的代码;

<script>  
      var pdfInfo = {};
      var x = document.location.search.substring(1).split('&');
      for (var i in x) { var z = x[i].split('=',2); pdfInfo[z[0]] = unescape(z[1]); }
      function getPdfInfo() {
        var page = pdfInfo.page || 1;
        var pageCount = pdfInfo.topage || 1;
        document.getElementById('pdfkit_page_current').textContent = page;
        document.getElementById('pdfkit_page_count').textContent   = pageCount;
        document.getElementsByClassName('wrapper').innerHTML(pageCount);
      }
    </script> 
</head>
<body onload="getPdfInfo()">
    <div class="wrapper">
    ...more html

但是我在包装器内没有得到任何pageCount结果。这是可能的,甚至在正文html模板或只是在页眉/页脚模板?谢谢你的建议。

这不是一个很好的解决方案,但一个变通的办法是简单地让你的边栏有一个非常大的高度。我使用了一个带有如下css的侧边栏:

    display: block;
    position:fixed;
    height:5000px;
    bottom:0;
    top:0;
    left:0;
    right:0;
    background-color: #feb900;
    width: 30px;

结果是一个侧边栏,它可以跨越必要的页面,而无需创建新页面。还要注意,wkhtmltopdf将插入边距(默认为10mm),您可以通过添加以下标志来更改:

  -B 0 -T 0 -L 0 -R 0