使用NReco HTML-to-PDF C#更改ToC字体和大小

时间:2019-03-12 14:40:00

标签: c# xslt wkhtmltopdf nreco

我正在使用NReco将HTML视图转换为C#项目中的PDF文件。一切正常,但是我正在努力设置生成的ToC的Font-FamilyFont-Size属性,因为它与文档的其余部分不匹配。

这是我目前的代码:

var pdfConverter = new HtmlToPdfConverter
{
    Orientation = PageOrientation.Landscape,
    PageFooterHtml = "<div style=\"font-family: Arial;\">Page: <span class=\"page\"></span> of <span class=\"topage\"></span></div>",      
    GenerateToc = true
};

有一个名为CustomWkHtmlTocArgs的可用属性,我知道我应该使用它来解决此问题,但我不知道该给该变量分配什么。

我认为我需要创建一个XSLT样式表或其他内容吗?

1 个答案:

答案 0 :(得分:1)

您的建议是正确的,NReco.PdfGenerator内部使用wkhtmltopdf,如果您想更改默认的TOC布局和/或样式,则需要为TOC指定自定义XSL:

pdfConverter.CustomWkHtmlTocArgs = " --xsl-style-sheet full_path_to_your_toc.xsl ";

要获取示例(默认)XSL文件,请运行:

> wkhtmltopdf.exe --dump-default-toc-xsl > toc.xsl

您可以在此处获取有关wkhtmltopdf选项的更多详细信息:https://wkhtmltopdf.org/usage/wkhtmltopdf.txt