当我使用 django 生成 pdf 时,我不能写格鲁吉亚语。我的代码除了格鲁吉亚字母外还写了黑色方块
Posted
技术标签:
【中文标题】当我使用 django 生成 pdf 时,我不能写格鲁吉亚语。我的代码除了格鲁吉亚字母外还写了黑色方块【英文标题】:I can't write Georgian shrift, when I generate pdf , using django . My code writes black squares besides Georgian letters 【发布时间】:2021-12-25 08:14:27 【问题描述】:我生成关于每个模型对象的 pdf 文件,但在 pdf 中,我不能用格鲁吉亚字母书写,它返回黑色方块。
这是一些代码,我使用的是from xhtml2pdf import pisa
在我的 urls.py 中:path('pdf/', views.customer_render_pdf_view, name='customer-pdf-view')
def customer_render_pdf_view(request, *args, **kwargs):
pk = kwargs.get('pk')
customer = get_object_or_404(id, pk=pk)
template_path = 'test.html'
context = 'customer': customer
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'filename= "report.pdf"'
template = get_template(template_path)
html = template.render(context)
pisa_status = pisa.CreatePDF(
html,
dest=response,
encoding='utf-8'
)
# if error then show some funny view
if pisa_status.err:
return HttpResponse('We had some errors <pre>' + html + '</pre>')
return response
【问题讨论】:
【参考方案1】:您只是在使用不包含您的字母的字体。您需要使用具有它们的字体。
https://xhtml2pdf.readthedocs.io/en/latest/reference.html?highlight=Font#using-custom-fonts
【讨论】:
以上是关于当我使用 django 生成 pdf 时,我不能写格鲁吉亚语。我的代码除了格鲁吉亚字母外还写了黑色方块的主要内容,如果未能解决你的问题,请参考以下文章
当我不想在服务器上下载文件时,无法使用 mPDF 生成多个 PDF