从wkhtmltopdf

时间:2017-09-15 20:55:33

标签: xslt wkhtmltopdf

我有几个以标题和作者姓名开头的html文件,但我不希望它们出现在内容表中。我使用remove toc from toc in wkhtmltopdf来硬编码要删除的h1 / h2的值,但我希望xlst toc文件独立于文档名和作者。

所以我给这些特定的标题一个类属性。问题在于xlst过滤器,我没有找到测试或提取类属性的方法。

这是html文件的一部分:

<h1 class="title">Me</h1> <h2 class="author">My Title</h2>

这是xslt toc文件部分:

<xsl:template match="outline:item"> <li> <xsl:if test="(@title!='') and (@title!='My little TOC')and (@class!='author')and (@class!='title')">

我是xslt的新手,并且不知道什么大纲:项目确实是,但似乎它没有获得原始的class属性。我怎么能完成这项工作?

2 个答案:

答案 0 :(得分:1)

一种简单的解决方案是使用div标签而不是标题。在CSS中,确保指定display: block;

答案 1 :(得分:0)

如果您运行

    --dump-outline toc.xml 

标记生成pdf并查看xml文件时,您将看到xml节点和属性。

然后,您可以测试文档的标题,页码,链接和反向链接。您可以将这些属性用于if语句。

例如:

  <xsl:if test="((@page!=1) and (@page!=2) and (@page!=5))">
     blah blah blah
  </xsl:if>

注意完整测试的括号。

如果需要,您甚至可以进一步嵌套if语句:

<xsl:if test="((@page!=1) and (@page!=2) and (@page!=5))">
    <xsl:if test="(@title!='A title')">
      more code
    </xsl:if>
</xslLif>