带有TOC的Jekyll PDF文档

时间:2010-04-09 10:25:34

标签: pdf jekyll maruku wkhtmltopdf princexml

我想使用带有HTML和PDF输出的Jekyll编写文档。 Html可以有导航,但PDF应该有目录。是否有一种免费且简单的方法来做到这一点?

HTML部分很简单,但我想使用@media print CSS制作PDF文件。

我有一些想法如何做到这一点。

  1. 使用PrinceXML,遗憾的是这是商品,价格很贵〜$ 500
  2. 使用WKHTMLTOPDF
  3. 使用Maruku,因为可以使用它进行PDF转换
  4. 我想将多页HTML和单页PDF与TOC一起使用。有什么建议?

    顺便说一下。 Buildr已使用PrinceXML解决了此问题。

4 个答案:

答案 0 :(得分:6)

如果“免费”是您最重要的标准,那么wkhtmltopdf是您最好的选择。它支持cover,toc,header,footers和sections之类的东西。根据文档布局的异乎寻常程度,您很可能会遇到一些分页问题,​​但稍微修补一下就应该没问题。

我现在一直在使用wkhtmltopdf,有一些非常复杂的文档(使用javascript图表,表格,svg图像等)并且没有遇到太多问题。

请确保使用静态版本的wkhtmltopdf,因为它是唯一支持呈现TOC页面的版本。

答案 1 :(得分:3)

  • 要使用Jekyll生成目录,您可以{mark}提供use the {:toc} macro,或者如果您更喜欢使用纺织品,可以自己编写textile table of contents filter
  • 为了从Html和CSS生成PDF,我发现weasyprint是一个很好的解决方案。由于它们不依赖于外部引擎进行渲染,因此它们不依赖于外部项目的路线图来实现CSS生成内容或@page CSS声明等相关功能。 (但与wkhtmltopdf相反,weasyprint不解析javascript)。

答案 2 :(得分:2)

您可以使用PDFKit gem,它在幕后使用wkhtmltopdf。然后,您可以将PDF逻辑放在Jekyll插件中作为生成器或转换器。

答案 3 :(得分:0)

您还可以使用名为Awesome Screenshot的浏览器扩展程序从页面创建JPEG / PDF。该扩展名使您可以创建整页图像或将其导出为PDF。使用此工具,您可以真正快速地导出所有页面(和/或以后将所有PDF组合在一起以创建单个文档)。

我知道这是一个快速且肮脏的解决方案(并不完美)。例如:在使用图片而不是文字时,全文搜索将无效。此外,它可能需要一些手动操作,但仅在您想阅读时才可以完成。