使用toc
选项使用wkhtmltopdf创建目录时,是否可以将其与文档的其余部分一起显示?目前,我只能将它显示为其自己的页面而没有其他内容,但我希望它立即跟随我的文档的开头。我使用--xsl-style-sheet
命令来设置toc的样式,我没有看到任何表明这是可能的事情。
只是想象一下,这就是我现在所拥有的:
1. Title ........ 1
2. Title 2 ...... 4
3. Title 3 ...... 5
-------------------------
1. Title
其中“------”表示分页符。而我所追求的是:
1. Title ........ 1
2. Title 2 ...... 4
3. Title 3 ...... 5
1. Title
用于生成此命令的命令:
./wkhtmltopdf
--footer-center '- [page] -'
--enable-javascript
--margin-top 40
--margin-bottom 20
--footer-spacing 10
--page-size Letter
--orientation portrait
--header-spacing 10
--header-html ./1398708303-header.html
cover ./1398708303-cover.html
toc
--xsl-style-sheet ./templates/pages/pdf/toc-style.xsl
./1398708303-content.html
./1398708303.pdf
显然,我模糊了网址。由于NDA和机密性协议,我无法提供用于生成HTML的文件,但即使是一个简单的HTML文件,也只是各种标题的列表,如上所述生成。
我目前正在运行来自http://wkhtmltopdf.org/downloads.html的Debian开发版。我还尝试了稳定版本以及各种其他版本,例如来自h4cc和pilotftzi的版本。正式版本是唯一似乎提供适当toc支持的人。
' - xsl-style-sheet'内容:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:outline="http://wkhtmltopdf.org/outline"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
indent="yes" />
<xsl:template match="outline:outline">
<html>
<head>
<title>Table of Contents</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#header, #header h1 {
text-align:left;
font-size:24px;
font-weight: bold;
font-family:arial;
margin-bottom: 5px;
}
#header {
display: inline;
}
#header h1 {
display: inline;
}
ol li {
font-size: 16px;
font-weight: normal;
}
ol {
max-width: 100%;
overflow-x: hidden;
list-style: upper-roman;
}
ol li ol {
list-style: upper-alpha;
}
.title {
background: #fff;
padding-right: 5px;
}
.page {
background: #fff;
padding: 0 0 0 5px;
position: absolute;
right: 0;
}
li:before {
float: left;
width: 0;
white-space: nowrap;
content:
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
}
li, ol {
padding-top: 0 !important;
padding-bottom: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
ol > li > ol {
padding-left: 20px !important;
}
a {
color: #000;
text-decoration: none;
}
</style>
</head>
<body>
<div id="header">I. <h1>Table of Contents</h1></div>
<div class="table-of-contents-container">
<ol><xsl:apply-templates select="outline:item/outline:item"/></ol>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="outline:item">
<li>
<xsl:if test="@title!=''">
<span class="title">
<a>
<xsl:if test="@link">
<xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
</xsl:if>
<xsl:if test="@backLink">
<xsl:attribute name="name"><xsl:value-of select="@backLink"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="@title" />
</a>
</span>
<span class="page"><xsl:value-of select="@page" /> </span>
</xsl:if>
<ol>
<xsl:comment>added to prevent self-closing tags in QtXmlPatterns</xsl:comment>
<xsl:apply-templates select="outline:item"/>
</ol>
</li>
</xsl:template>
</xsl:stylesheet>