wkhtmltopdf:在页脚上显示内容,例如页码
wkhtmltopdf: show content on footer, for example page number
我希望此命令在生成的 pdf 的底部显示 1/1
,但没有……有什么想法吗?
wkhtmltopdf --footer-center [page]/[topage] www.google.com /tmp/foobar.pdf
版本:Linux
上的 0.12.2.4
似乎是稳定性问题,但 linux
(debian
或 ubuntu
)版本 0.12.2.4
尚未稳定发布,但 只是为了在他们的存储库 here.
中提到的调试目的
这是 version
和 0.12.4
的工作屏幕截图
版本0.12.4
或者您可以通过 以下代码段 添加页码以添加页脚,如前所述 here
<html><head><script>
function subst() {
var vars={};
var x=window.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]];
}
}
</script></head><body style="border:0; margin: 0;" onload="subst()">
<table style="border-bottom: 1px solid black; width: 100%">
<tr>
<td class="section"></td>
<td style="text-align:right">
Page <span class="page"></span> of <span class="topage"></span>
</td>
</tr>
</table>
</body></html>
我认为这个问题可能是由版本 0.12.2.4 引起的,否则,这个 --footer-center [page]/[topage]
命令将完成您的工作。
还有一个例子,我检查过 substitutePdfVariables()
在 body onload 中被调用。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
function substitutePdfVariables() {
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
function substitute(name) {
var value = getParameterByName(name);
var elements = document.getElementsByClassName(name);
for (var i = 0; elements && i < elements.length; i++) {
elements[i].textContent = value;
}
}
['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection']
.forEach(function(param) {
substitute(param);
});
}
</script>
</head>
<body onload="substitutePdfVariables()">
<p>Page <span class="page"></span> of <span class="topage"></span></p>
</body>
</html>
在这里Docs您可以找到更多关于页眉和页脚的变量。
我希望此命令在生成的 pdf 的底部显示 1/1
,但没有……有什么想法吗?
wkhtmltopdf --footer-center [page]/[topage] www.google.com /tmp/foobar.pdf
版本:Linux
上的 0.12.2.4似乎是稳定性问题,但 linux
(debian
或 ubuntu
)版本 0.12.2.4
尚未稳定发布,但 只是为了在他们的存储库 here.
这是 version
和 0.12.4
版本0.12.4
或者您可以通过 以下代码段 添加页码以添加页脚,如前所述 here
<html><head><script>
function subst() {
var vars={};
var x=window.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]];
}
}
</script></head><body style="border:0; margin: 0;" onload="subst()">
<table style="border-bottom: 1px solid black; width: 100%">
<tr>
<td class="section"></td>
<td style="text-align:right">
Page <span class="page"></span> of <span class="topage"></span>
</td>
</tr>
</table>
</body></html>
我认为这个问题可能是由版本 0.12.2.4 引起的,否则,这个 --footer-center [page]/[topage]
命令将完成您的工作。
还有一个例子,我检查过 substitutePdfVariables()
在 body onload 中被调用。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
function substitutePdfVariables() {
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
function substitute(name) {
var value = getParameterByName(name);
var elements = document.getElementsByClassName(name);
for (var i = 0; elements && i < elements.length; i++) {
elements[i].textContent = value;
}
}
['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection']
.forEach(function(param) {
substitute(param);
});
}
</script>
</head>
<body onload="substitutePdfVariables()">
<p>Page <span class="page"></span> of <span class="topage"></span></p>
</body>
</html>
在这里Docs您可以找到更多关于页眉和页脚的变量。