首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wkhtmltopdf:带有-- TOC -header-text属性的自定义toc样式

wkhtmltopdf:带有-- TOC -header-text属性的自定义toc样式
EN

Stack Overflow用户
提问于 2017-02-07 01:24:52
回答 2查看 1.3K关注 0票数 1

我正在使用wkhtmltopdf库生成带选项的PDF文件

代码语言:javascript
复制
--toc-header-text TEXT --xsl-style-sheet config/wkhtmltopdf_toc.xsl

但是--toc-header-text值不会插入到生成的目录中。

有没有办法将--toc-header-text变量的值插入到自定义目录样式表中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-07 07:35:22

好吧,这不是一个答案,但它是解决办法

我使用toc样式表为每个生成的pdf创建了一个temp文件,用我的动态内容替换了标题文本,并将该文件传递给wkhtmltopdf。

在Ruby中,它可以是这样的:

代码语言:javascript
复制
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后销毁文件:

代码语言:javascript
复制
toc_file.close
toc_file.unlink
票数 0
EN

Stack Overflow用户

发布于 2019-02-24 06:06:53

使用XSLT魔术根据第一个大纲项(即TOC本身)的名称定义一个变量。

我这样做了:

代码语言:javascript
复制
<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上胡闹,直到它起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42073687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档