如何在Google App Engine Python 2.7中使用UTF-8创建PDF文件

时间:2016-10-27 11:11:11

标签: python-2.7 google-app-engine pdf utf-8 pisa

我正在使用Python 2.7在Google App Engine中创建PDF文件。我正在使用模板html文件来生成PDF内容。我想我标记的是我在每一步都使用UTF-8编码,但创建的PDF无法正确显示。到目前为止,我只在localhost上测试过。你能告诉我我做错了吗?

  1. 模板文档。我在文件属性中设置了UTF-8编码,并将utf-8字符集放在元数据中。

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        Działając
    </body>
    <html>
    
  2. 代码创建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')
    
  3. 创建的PDF无法正确显示字符串 enter image description here

0 个答案:

没有答案