При создании pdf в python при помощи borb выдает ошибку
При создании pdf в python при помощи borb выдает ошибку:
AssertionError: Font Helvetica can not represent 'У'. При генерации PDF использую Borb.
from borb.pdf.canvas.layout.table.fixed_column_width_table import FixedColumnWidthTable as Table
from borb.pdf.canvas.layout.text.paragraph import Paragraph
from borb.pdf.canvas.layout.layout_element import Alignment
from datetime import datetime
import random
def _build_invoice_information():
table_001 = Table(number_of_rows=4, number_of_columns=3)
table_001.add(Paragraph("Украина,Киевскаяа обл."))
table_001.add(Paragraph("Date", font="helvetica", horizontal_alignment=Alignment.RIGHT))
now = datetime.now()
table_001.add(Paragraph("%d/%d/%d" % (now.day, now.month, now.year)))
Меняю другой шрифт ошибка такая же. Просмотрел все доступные шрифты. кириллицы нет. Файлы со шрифтами в формате .afm. Пытался конвертировать ttf в afm Конвертер TTF в AFM Результат тот же. Русские буквы не понимает.
Может кто-то сталкивался? Как лечится?
Ответы (1 шт):
Автор решения: Кирилл Денисов
→ Ссылка
По ссылке скачиваешь нужные шрифты, в программе указываешь путь к скачанному файлу формата ttf
.
У меня это выглядит так:
from borb.pdf import TrueTypeFont
from pathlib import Path
...
arial = TrueTypeFont.true_type_font_from_file(Path("Fonts/ARIAL.ttf"))
Далее в Paragraph()
указываешь нужный шрифт:
table_001.add(Paragraph("Украина,Киевскаяа обл.", font=arial))