Wkhtmltopdf 如何从TOC中排除某些条目

Wkhtmltopdf 如何从TOC中排除某些条目,wkhtmltopdf,tableofcontents,Wkhtmltopdf,Tableofcontents,我正在使用wkhtmltopdf创建一些需要TOC的文档;这是使用Hx标记完成的,并且工作正常(包括修改的XSL文件)。输入HTML是由我自己的代码生成的,所以我可以完全控制它 现在,我需要排除某些级别的条目,但不是所有条目,如下面的示例所示 <h1>First</h1> <h2>First of first</h2> <- exclude <h2>Second of first</h2>

我正在使用wkhtmltopdf创建一些需要TOC的文档;这是使用Hx标记完成的,并且工作正常(包括修改的XSL文件)。输入HTML是由我自己的代码生成的,所以我可以完全控制它

现在,我需要排除某些级别的条目,但不是所有条目,如下面的示例所示

<h1>First</h1>
    <h2>First of first</h2>     <- exclude
    <h2>Second of first</h2>    <- exclude
<h1>Second</h1>
    <h2>First of second</h2>
    <h2>Second of second</h2>
首先

首先经过一番挣扎,这里有一个解决方案

由于我无法在不使用wkhtmltopdf的源文件的情况下更改大纲文件或创建方法,因此我试图找到一种方法,根据唯一可用的属性来区分我想要的TOC条目和我不想要的TOC条目;我选择了
标题
,因为它最容易控制

输入“零宽度无接缝”:
&zwnj

我添加了这个特殊字符作为我不想要的TOC条目的第一个元素,然后在TOC XSL文件中使用了以下测试

<xsl:if test="not(starts-with(@title, '&#x200c;'))">


这个简单的技巧似乎可以很好地完成这项工作。

如果其他人需要,可以快速更新:在linux上运行时,您需要正确的字体,否则&zwnj;将显示为问号。
<xsl:if test="not(starts-with(@title, '&#x200c;'))">