Is there a way to generate pdf containing non-ascii symbols with pisa from django template?
This does work for me:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result, encoding='UTF-8')
Try replacing
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
with
pdf = pisa.pisaDocument(StringIO.StringIO(html), result, encoding='UTF-8')
Or checkout this answer to html to pdf for a Django site?
You need to modify your django template. Add a new font face in the stylesheet that will link to a font file with characters used in your document. And that font file must be accessible from your server (under Ubuntu you can find files with fonts in /usr/share/fonts/truetype/ directory). For example:
@font-face {
font-family: DejaMono;
src: url(font/DejaVuSansMono.ttf);
}
Then if you have next HTML code:
<div>Some non-latin characters</div>
you can display that text in DejaMono font with this CSS rule:
div { font-family: DejaMono; }
This works for me when I generate PDF documents with cyrillic characters.