1

我正在使用 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 无法正确显示字符串 在此处输入图像描述

4

0 回答 0