我正在尝试使用 pdfkit python库将HTML文件转换为pdf。 我遵循了here的文档。
目前,我正在尝试将纯文本转换为PDF而不是整个HTML文档。一切都工作正常,但我没有看到文本,我在生成的PDF中看到了框。 这是我的代码。
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf/wkhtmltox/bin/wkhtmltopdf')
content = 'This is a paragraph which I am trying to convert to pdf.'
pdfkit.from_string(content,'test.pdf',configuration=config)
这是输出。
而不是文字'这是我想要转换为pdf的段落。' ,转换的PDF包含框。
感谢任何帮助。 谢谢:))
答案 0 :(得分:1)
无法在Ubuntu 16.04上重现Python 2.7的问题,并且它在所提到的规范上运行良好。根据我的理解,这个问题来自您的操作系统,而不是pdfkit生成文件的字体或编码。
也许尝试这样做:
import pdfkit
config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf/wkhtmltox/bin/wkhtmltopdf')
content = 'This is a paragraph which I am trying to convert to pdf.'
options = {
'encoding':'utf-8',
}
pdfkit.from_string(content,'test.pdf',configuration=config, options=options)
修改pdf的选项可以添加为字典并分配给options
函数中的from_string
参数。可以找到选项列表here。
答案 1 :(得分:0)
此问题参考此处Include custom fonts in AWS Lambda
如果您在 lambda 上使用 pdfkit,则必须将 ENV 变量设置为 "FONT_CONFIG_PATH": '/opt/fonts/' "FONTCONFIG_FILE": '/opt/fonts/fonts.conf'
如果此问题是在本地环境中,则必须重新安装 wkhtmltopdf 才能解决此问题