2

我想在我的 PDF 中添加一个标题:--header-center TEST

它工作正常,但如果我想插入空格:--header-center TEST test

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

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

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

4

1 回答 1

2

正如在我的评论中一样,如果将文本标题中的空格用引号括起来,则应该可以使用,例如--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 的包装器)

于 2012-06-29T20:27:02.927 回答