Is there a way to generate pdf containing non-ascii symbols with pisa from django template?
django, pdf, pisa, python
Solution
This does work for me:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result, encoding='UTF-8')
Problem
I'm trying to generate a pdf from template using this snippet: ``` 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') ``` All non-latin symbols are not showing correctly, the template and view are saved using utf-8 encoding. I've tried saving view as ANSI and then to user unicode(html,"UTF-8"), but it throws TypeError. Also I thought that maybe it's because the default fonts somehow do not support utf-8 so according to pisa documentation I tried to set fontface in template body in style section. That still gave no results. Does any one have some ideas how to solve this issue?