我必须创建一个包含多个文档的PDF,这些文档像这样分组:
在每个页脚上,我需要以下信息:
page
和topage
从window.location.search
文档的总页数
1.由windows.location.search
提供
3.在将htmls发送到wkhtml之前,我可以在<h1></h1>
中设置这个数字。这将在section
或subsection
下的window.location.serach
中可用
2.这是有趣的部分。如果我能够将信息存储在footer javascript中,那就很容易了。内部计数器之类的东西,我可以在每次部分或小节改变时重置。
所以问题是:如何存储页脚之间共享的变量?有没有其他方法可以实现我所需要的?
每个PDF页面的页脚:
<代码>H145文档3 (TypeB):pdf-页5/7 |文档-第2页/2|类型2/2
这几乎就像创建5个PDF并将它们合并为一个。
发布于 2019-03-20 04:21:57
您可以使用JS cookies
重置每个部分的编号。遵循下面的示例:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3708#issuecomment-346701655
<html>
<head>
<script>
function setSectionCounter() {
var vars = {};
var queryStringsFromUrl = document.location.search.substring(1).split('&');
for (var queryString in queryStringsFromUrl) {
if (queryStringsFromUrl.hasOwnProperty(queryString)) {
var temp = queryStringsFromUrl[queryString].split('=', 2);
vars[temp[0]] = decodeURI(temp[1]);
}
}
var element = document.getElementById('sectionCounter');
if (document.cookie.split(';').length === 2) {
var section = document.cookie.split(';')[0].split('=')[1];
if (vars.section !== section) {
document.cookie = 'currentSection=' + vars.section;
document.cookie = 'startedAt=' + vars.page;
}
// startedAt is the page on which a section started
var startedAt = parseInt(document.cookie.split(';')[1].split('=')[1]);
element.textContent = vars.page - startedAt + 1;
} else {
document.cookie = 'currentSection=' + vars.section;
document.cookie = 'startedAt=' + vars.page;
element.textContent = 1;
}
}
</script>
</head>
<body onload="setSectionCounter()">
<p id="sectionCounter"></p>
</body>
</html>
免责声明:此解决方案不适用于每个部分的总页数,它只提供了一个计数器。
希望能有所帮助。
https://stackoverflow.com/questions/54889379
复制相似问题