在 Django 中使用 ReportLab 生成 PDF。旁遮普语 Unicode(例如 ਵਿਰੋਧ ਦੇ ਸਮੇਂ ਫਾਸ਼ੀਵਾਦ)无法正确显示。需要字体解决方案

问题描述 投票:0回答:1

defgenerate_punjabi_pdf(请求): font_path = os.path.join(settings.BASE_DIR, 'static/myapp/css/fonts/Noto_Sans_Gurmukhi/static', 'NotoSansGurmukhi-Regular.ttf')

pdfmetrics.registerFont(TTFont('NotoSansGurmukhi', font_path))

response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'inline; filename="punjabi_text.pdf"'
c = canvas.Canvas(response, pagesize=A4)

c.setFont("NotoSansGurmukhi", 16)

c.drawString(100, 750, "ਵਿਰੋਧ ਦੇ ਸਮੇਂ ਫਾਸ਼ੀਵਾਦ")

c.showPage()
c.save()
return response
django pdf
1个回答
0
投票

我尝试过使用不同的库,例如 fpdf2,但旁遮普文本的 Sihari 放错位置,显示转移到下一个字符。

© www.soinside.com 2019 - 2024. All rights reserved.