比萨django显示汉字作为黑色块

时间:2011-12-25 12:09:37

标签: python django encoding cjk reportlab

我正在尝试使用reportlab pisa显示中文字符。生成的中文单词变为黑色块。我使用UTF-8生成PDF

def render_to_pdf(template_src, context_dict):
    """Function to render html template into a pdf file"""
    template = get_template(template_src)
    context = Context(context_dict)
    html  = template.render(context)
    result = StringIO.StringIO()

    pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
    if not pdf.err:
        return HttpResponse(result.getvalue(), mimetype='application/pdf')
    return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))

1 个答案:

答案 0 :(得分:3)

这是一个字体问题,因为您需要显示的任何字体都不能通过pdf中的reportlabs嵌入。

建议您查看reportlabs ftp server以获取所需的字体包。