我正在使用utf-8编码从HTML文件生成PDF。事实上,我的一些标题包含非ascii字符。在主PDF中,一切都很好,编码是正确的,渲染是可以的。
设置我的footer.html文件时,只要部分名称中存在非ascii字符,我就会检索当前显示不正确的部分。 此部分名称作为“section”URL参数传递给footer.html调用;它的编码已经错了。例如,我在我的xsl文件中将我的ToC标题更改为法语“Tabledesmatières”(这是对默认xsl的唯一更改)。
ToC页面在PDF中很好,“è”是正确的。但是在我的页脚中,我通过JS检索URI,这给了我之前取消编码:mati%C3%A8res
(当我预期它为mati%E8res
时),这当然显示在我的PDF页脚中作为matières
我在模板,主html文件或页眉/页脚html文件中找到了很多关于编码问题的页面,它们都没有与这些参数相关。如何在PDF中正确使用它?
示例运行:
F:\test>wkhtmltopdf.exe --encoding "UTF-8" --footer-html footer.html \
--print-media-type toc --xsl-style-sheet default.xsl test.html test.pdf
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
答案 0 :(得分:0)
问题来自我的JS代码。在参数上,我使用unencode()
而不是使用正确的函数decodeURIcomponent()