我正在使用Python 2.7在Google App Engine中创建PDF文件。我正在使用模板html文件来生成PDF内容。我想我标记的是我在每一步都使用UTF-8编码,但创建的PDF无法正确显示。到目前为止,我只在localhost上测试过。你能告诉我我做错了吗?
模板文档。我在文件属性中设置了UTF-8编码,并将utf-8字符集放在元数据中。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Działając
</body>
<html>
代码创建PDF文件在每个可能的位置都标记了UTF-8编码。源代码文件也是UTF-8。
# -*- coding: utf-8 -*-
... code skipped
# f = codecs.open(os.path.join(APP_TEMPLATES, 'test.html'), encoding ='utf-8')
# fdata = f.read()
# f.close()
# htmpPage = render_template_string(fdata, encoding='utf-8')
htmpPage = render_template('test.html', encoding='utf-8')
pdfOUTPUT = StringIO.StringIO()
pisa.pisaDocument(htmpPage,dest=pdfOUTPUT, encoding='utf-8')
# pisa.CreatePDF(htmpPage, dest=pdfOUTPUT, encoding='UTF-8')
response = make_response(pdfOUTPUT.getvalue())
response.headers.set('Content-Disposition', 'attachment', filename='test' + '.pdf')
response.headers.set('Content-Type', 'application/pdf;charset=UTF-8')