我正在使用wkhtmltopdf库生成带有选项的PDF文件
--toc-header-text TEXT --xsl-style-sheet config/wkhtmltopdf_toc.xsl
但--toc-header-text
值未插入到生成的目录中。
有没有办法将--toc-header-text
变量的值插入自定义TOC样式表?
答案 0 :(得分:0)
好的,这不是答案,但它正在解决方法
我为每个生成的pdf创建一个带有toc样式表的临时文件,用我的动态内容替换标题文本并将此文件传递给wkhtmltopdf
在Ruby中,它可以是:toc_file = Tempfile.new
toc_content = File.
read('config/wkhtmltopdf_toc.xsl').
gsub(':index_title', title)
toc_file.write(toc_content)
toc_file.rewind
将文件路径传递给wkhtmltopdf - toc_file.path
生成pdf后销毁文件:
toc_file.close
toc_file.unlink
答案 1 :(得分:0)
使用XSLT magic根据第一个大纲项的名称(即TOC本身)定义变量。
我这样做:
<xsl:variable name="tocTitle" select="//outline:outline/outline:item[1]/@title" />
<xsl:template match="outline:outline">
<html>
<head>
<title><xsl:value-of select="$tocTitle" /></title>
...
</head>
<body>
<h1><xsl:value-of select="$tocTitle" /></h1>
<ul><xsl:apply-templates select="outline:item/outline:item"/></ul>
</body>
</html>
...
这是痛苦的反复试验(我不是专家,很高兴有人纠正我)。我搞砸了https://www.freeformatter.com/xsl-transformer.html,直到它起作用为止。