【问题标题】:How do I change TOC location in wkhtmltopdf output?如何更改 wkhtmltopdf 输出中的 TOC 位置?
【发布时间】:2012-07-17 21:55:30
【问题描述】:

我需要目录位于第 3 页。显然,如果有办法控制它,它必须通过 XSL 样式表。我所有的搜索尝试都没有给我任何线索。有可能吗?

我不能使用cover 选项,因为我需要在第一页和第二页上显示页眉。

【问题讨论】:

    标签: xslt pdf pdf-generation wkhtmltopdf


    【解决方案1】:

    好的,我找到了一种使用 wkhtmltopdf 0.11 的方法。我已经将前两页提取到一个单独的 HTML 文档中,然后像这样运行它

    wkhtmltopdf [options] page cover.html toc --xsl-style-sheet ... input_file.html out.pdf
    

    不幸的是,它比我预期的要付出更多的努力,因为我通过 wicked_pdf 在 Rails 应用程序中使用它,而且它与新的选项格式不兼容,所以我不得不分叉它并做必要的也有变化。

    wicked_pdf 生成的命令行如下(省略长路径):

    "c:/program files (x86)/wkhtmltopdf/wkhtmltopdf.exe"  
       --header-html "file:///path/to/header" --footer-html "file:///path/to/footer" 
       --margin-top 20 --margin-bottom 15 --margin-left 5 --margin-right 40    page "file:///path/to/cover/page" --disable-javascript  toc --xsl-style-sheet "path/to/style/sheet"  - -
    

    【讨论】:

    • 这是否意味着在“...”中您有提取的页面?是否可以看到实际使用的命令? “page”指令对我来说并不熟悉。对我来说,这读起来就像“把 page cover.html 然后 toc 然后 input_file.html 和 print out.pdf”,但我怀疑它不是那样的吗?好问题,很好地找到了答案
    • 我相信“page”和“toc”对象的这种表示法是在 v0.10 左右引入的。 wkhtmltopdf 按照命令行中给出的顺序将这些对象放在输出中。 ... 实际上是 XSL 表的路径,抱歉没有说清楚。我已经添加了 wicked_pdf 在我的应用程序中生成的 CLI。
    • 简单来说,您可以拥有多个page 对象以及一个covertoc 对象。我使用了相同的技巧 = 而不是使用难以设置页眉/页脚的 cover,我使用单页作为封面,然后是目录,然后是我的文档的其余部分,所以 @987654324 @与[cover][toc][page]
    • @frequent 请提出建议,你是如何实现这个 [page][toc][page] 的?我的意思是当我们使用 wkhtmltopdf 加载视图时,它会自动将大纲或 toc 放在第一页上,我们如何在 toc 之前添加页面?
    • @ManojVerma - 文档说您可以拥有多个页面对象。就用这个。 wkhtmltopdf.org/usage/wkhtmltopdf.txt
    猜你喜欢
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 2015-09-01
    • 2012-12-09
    • 2016-05-22
    • 2023-04-07
    • 2014-06-29
    • 2017-06-23
    相关资源
    最近更新 更多