wkhtmltopdf标题,图像和;页码

时间:2012-04-24 06:42:36

标签: c# wkhtmltopdf

我想用这个为我的PDF添加标题: - 头部中心测试

它工作正常,但如果我想插入空格: - 头部中心测试测试

它不会显示。我是否必须写一些东西而不是“”?

另一个问题是如何将页面编号插入页脚。我找到了这段代码片段,但我是这个问题的新手,并且不知道如何实现它:

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; 
  } 

我的最后一个问题是如何使用--header-html~ \ image.html将图像插入页脚。 我插入了一个引用带有图片的简单html的链接,但它不会显示。

我知道......很多问题。这个问题对我来说非常棘手。

提前致谢!

LG FG

1 个答案:

答案 0 :(得分:2)

在我的评论中,如果用引号括起来,文本标题中的空格应该有效,ex --header-center "TEST test"

好的,所以我玩了一下,找到了如何让页码和图像工作。您的header.html应该类似于(注意图像URL是绝对路径的方式):

<html>
<head>
    <script type="text/javascript">
        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;
        }
    </script>
</head>
<body onload="getPdfInfo()">
    <img src="/var/sites/mysite/htdocs/images/logo.jpg" />
    <br />Page <span id="pdfkit_page_current"></span> Of <span id="pdfkit_page_count"></span>
</body>
</html>

然后使用类似wkhtmltopdf --margin-top 40mm --header-html /var/sites/mysite/pdf/header.html content.html output.pdf

的内容生成

你必须使用--margin-top来获得合适的间距。同样的程序也适用于页脚。

我的来源是http://metaskills.net/2011/03/20/pdfkit-overview-and-advanced-usage/(PDFkit是wkhtmltopdf的包装器)