更新为 0.12.6。
页脚和页眉:
页眉和页脚可以分别通过 --header-* 和 --footer* 参数添加到文档中。在提供给例如 --header-left 的页眉和页脚文本字符串中,将替换以下变量。
- [page] 替换为当前正在打印的页数
- [frompage] 替换为要打印的第一页的编号
- [topage] 替换为要打印的最后一页的编号
- [webpage] 替换为正在打印的页面的 URL
- [section] 替换为当前节的名称
- [小节] 替换为当前小节的名称
- [日期] 替换为系统本地格式的当前日期
- [isodate] 替换为 ISO 8601 扩展格式的当前日期
- [time] 替换为系统本地格式的当前时间
- [title] 替换为当前页面对象的标题
- [doctitle] 替换为输出文档的标题
- [sitepage] 替换为当前正在转换的站点中的页面编号
- [sitepages] 替换为当前站点中正在转换的页面数
例如,指定 --header-right "Page [page] of [topage]",将生成文本 "Page x of y",其中 x 是当前页的编号,y 是最后一页的编号,出现在文档的左上角。
页眉和页脚也可以随 HTML 文档一起提供。例如,可以指定 --header-html header.html,并在 header.html 中使用以下内容:
<!DOCTYPE html>
<html>
<head><script>
function subst() {
var vars = {};
var query_strings_from_url = document.location.search.substring(1).split('&');
for (var query_string in query_strings_from_url) {
if (query_strings_from_url.hasOwnProperty(query_string)) {
var temp_var = query_strings_from_url[query_string].split('=', 2);
vars[temp_var[0]] = decodeURI(temp_var[1]);
}
}
var css_selector_classes = ['page', 'frompage', 'topage', 'webpage', 'section', 'subsection', 'date', 'isodate', 'time', 'title', 'doctitle', 'sitepage', 'sitepages'];
for (var css_class in css_selector_classes) {
if (css_selector_classes.hasOwnProperty(css_class)) {
var element = document.getElementsByClassName(css_selector_classes[css_class]);
for (var j = 0; j < element.length; ++j) {
element[j].textContent = vars[css_selector_classes[css_class]];
}
}
}
}
</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>
专家提示
如果您不使用某些信息,例如webpage
, section
, subsection
, subsubsection
,那么您应该删除它们。我们正在生成相当大的 PDF,并且在大约 1,000 页时遇到了分段错误。
经过彻底调查后,它归结为删除那些未使用的变量。不,我们可以生成 7,000 多页 PDF 而不会看到分段错误。