Gibt es eine Möglichkeit, PDF-Dateien mit Nicht-ASCII-Symbolen mit Pisa aus einer Django-Vorlage zu generieren?
Ich versuche mit diesem Snippet ein PDF aus einer Vorlage zu generieren:
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')
Alle nicht-lateinischen Symbole werden nicht korrekt angezeigt. Die Vorlage und die Ansicht werden mit der UTF-8-Codierung gespeichert.
Ich habe versucht, die Ansicht als ANSI und dann als Unicode-Benutzer (html, "UTF-8") zu speichern, aber TypeError wird ausgelöst.
Ich dachte auch, dass es vielleicht daran liegt, dass die Standardschriftarten utf-8 irgendwie nicht unterstützen. Daher habe ich laut pisa-Dokumentation versucht, fontface im Template-Body im Style-Bereich zu setzen.
Das gab noch keine Ergebnisse.
Hat jemand eine Idee, wie man dieses Problem löst?