wkhtmltopdf在body html中获取页数

时间:2015-10-01 13:12:57

标签: javascript html wkhtmltopdf document-body

在我的应用程序中,我使用分隔的页眉,页脚和正文生成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结果。这甚至可以在body html模板中还是在页眉/页脚的内部?谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

这不是一个非常好的解决方案,但解决方法是让你的侧边栏高度非常大。我使用带有以下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