При создании 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))
→ Ссылка