Django xhtml2pdf生成PDF时阿拉伯文本显示异常求助
Django + xhtml2pdf生成PDF时阿拉伯文本显示方块问题未解决
HTML页面中阿拉伯文本可正常显示,但使用Django结合xhtml2pdf生成PDF后,阿拉伯文本变为方块。已尝试多种公开解决方案,问题仍未解决。
所用CSS样式
@import url(https://fonts.googleapis.com/css?family=Markazi+Text); .markazi-text{font-family:'Markazi Text',serif} *{ font-size: 12px; padding: 0px; margin: 0px; } table{ border: 1px solid #000; margin-bottom: 5px; } table tr th{ padding-top: 5px; -pdf-word-wrap: CJK; padding: 5px; } table tr td{ padding-top: 5px; padding-left: 5px; width: auto; word-break: break-all; padding: 5px; -pdf-word-wrap: CJK; } table tr td p{ word-break: break-all; } p{ margin: 0px; font-family:'Markazi Text'; } .vendor-sec{ border: 1px solid #000; width: 150px; padding: 5px; margin-bottom: 15px; }
所用Django代码
template_path = 'pdf.html' response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="declaration.pdf"' html = render_to_string(template_path, data) result = io.BytesIO() pdf = pisa.pisaDocument(io.BytesIO(html.encode("UTF-8")), dest=result, encoding='UTF-8') content = result.getvalue() encoded = base64.b64encode(content) encoded = encoded.decode('utf-8')
已尝试的解决方案
- Stack Overflow上关于Pisa阿拉伯语显示问题的问答
- xhtml2pdf仓库编号345的Issue
- xhtml2pdf仓库编号494的Issue
- xhtml2pdf仓库编号72的Issue
PDF显示效果

内容的提问来源于stack exchange,提问作者Fayyaz Hussain
相关产品推荐
相关产品推荐

