我正在使用 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')