使用pandoc创建带有css和html的PDF

使用pandoc创建带有css和html的PDF,pdf,pdf-generation,pandoc,weasyprint,Pdf,Pdf Generation,Pandoc,Weasyprint,我正在尝试使用pandoc和weasyprint作为PDF引擎将HTML+CSS转换为PDF。我使用了下面的参数,但是大多数css没有得到应用 pandoc example.html -t html5 -o example.pdf --pdf-engine weasyprint -c pathtocss.css --standalone 如果不指定-c,pdf中绝对没有样式。指定-c后,背景颜色和字体颜色都会更改,但其他所有颜色都保持不变 我也尝试过单独使用wkhtmltopdf,而不是作为p

我正在尝试使用pandoc和weasyprint作为PDF引擎将HTML+CSS转换为PDF。我使用了下面的参数,但是大多数css没有得到应用

pandoc example.html -t html5 -o example.pdf --pdf-engine weasyprint -c pathtocss.css --standalone
如果不指定-c,pdf中绝对没有样式。指定-c后,背景颜色和字体颜色都会更改,但其他所有颜色都保持不变

我也尝试过单独使用wkhtmltopdf,而不是作为pdf引擎使用,效果更好,但由于wkhtmltopdf不支持flex,所以并不是我所有的样式都得到了应用。使用wkhtmltopdf作为pdf引擎,结果与使用weasyprint非常相似,大多数样式都不会应用

pandoc example.html -t html5 -o example.pdf --pdf-engine weasyprint -c pathtocss.css --standalone

编辑:我注意到HTML中的CSS根本没有被使用,所以我用这些样式创建了第二个CSS文件,然后重新运行命令。这一次背景图像和页码正常,但间距、表格和列表看起来仍然没有CSS。

也许weasyprint不支持您编写的CSS?请参见调试,您还可以执行
pandoc--standalone-o output.html
,然后执行
weasyprint output.html
。使用python中的weasyprint可以很好地使用CSS样式打印所有内容。