我正在努力使用 Python 3.5.2、python-pdfkit 和 wkhtmltox-0.12.2 生成一个带有非 ascii 字符的简单 PDF。
这是我能写的最简单的例子:
import pdfkit
html_content = u'<p>ö</p>'
pdfkit.from_string(html_content, 'out.pdf')
我正在努力使用 Python 3.5.2、python-pdfkit 和 wkhtmltox-0.12.2 生成一个带有非 ascii 字符的简单 PDF。
这是我能写的最简单的例子:
import pdfkit
html_content = u'<p>ö</p>'
pdfkit.from_string(html_content, 'out.pdf')
我发现我只需要在我的 HTML 代码中添加一个带有 charset 属性的元标记:
import pdfkit
html_content = """
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<p>€</p>
<p>áéíóúñö</p>
<body>
</html>
"""
pdfkit.from_string(html_content, 'out.pdf')
实际上,我花了很长时间遵循此处建议的错误解决方案。如果有人感兴趣,我在我的博客上写了一篇短篇小说。很抱歉垃圾邮件:)
pdfkit 项目https://github.com/devongovett/pdfkit/issues/470 中有一个相关问题说
"You need to use an embedded font. The built-in fonts have a limited character set available."
这个问题的答案如何:在 pdfkit for nodejs 中输出欧元符号给出了如何做到这一点的线索。