このスニペットを使用してテンプレートからPDFを生成しようとしています:
def write_pdf(template_src, context_dict):
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 http.HttpResponse(result.getvalue(), mimetype='application/pdf')
except Exception('PDF error')
ラテン語以外のすべての記号が正しく表示されていません。テンプレートとビューはutf-8エンコーディングを使用して保存されます。
ビューをANSIとして保存してから、ユーザーunicode(html、 "UTF-8")に保存しようとしましたが、TypeErrorがスローされます。
また、デフォルトのフォントがどういうわけかutf-8をサポートしていないためかもしれないと思ったので、pisaのドキュメントによると、スタイルセクションのテンプレート本体にfontfaceを設定しようとしました。
それでも結果は出ませんでした。
この問題を解決する方法を知っている人はいますか?