Python Шрифты ReportLab и текст не отображаются - PullRequest
0 голосов
/ 20 марта 2020

У меня проблема с отображением PDF с помощью Adobe Reader, созданного с использованием Django и reportlab. Когда я открываю pdf в Adobe Reader, тексты не отображаются, но при открытии pdf файла в Google Chrome.

проблем нет. В свойствах файла в Adobe Acrobat Reader, именно в шрифтах, говорится следующее : Helvetica Type 1 Кодирование: WinAnsi. Не встроено

OpenSans-Regular TrueType Кодирование: WinAnsi. встроенное подмножество

OpenSans-Bold TrueType Кодирование: WinAnsi. вложенное подмножество

** Обратите внимание, что я не встраиваю шрифт Helvetica

Вот код на всякий случай:

response = HttpResponse(content_type='application/pdf')
filename = f'receipt-{receipt.created.strftime("%d-%m-%Y")}.pdf'
response['Content-Disposition'] = f'attachment; filename="{filename}"'

canva = canvas.Canvas(response)
w, h = A4

pdfmetrics.registerFont(TTFont('open-sans', f'{settings.BASE_DIR}/resources/fonts/OpenSans-Regular.ttf'))
pdfmetrics.registerFont(TTFont('open-sans-bold', f'{settings.BASE_DIR}/resources/fonts/OpenSans-Bold.ttf'))

canva.setFont('open-sans-bold', 10)
canva.drawString(x, h - 200, f'{user.first_name} {user.last_name}')
canva.setFont('open-sans', 10)

canva.showPage()
canva.save()
return response

спасибо!

...