Ошибка при добавлении шрифта times new roman для работы с python

Я хочу сохранить файл с русским текстом в pdf в pythone. Для этого я хочу использовать шрифт Times New Roman:

from fpdf import FPDF 
 
pdf = FPDF() 
  
pdf.add_page() 
  
pdf.set_font("Times_New_Roman.ttf", size = 15) 
  
pdf.cell(200, 10, txt = "ВПЕРЕДДДДДД!!!!", ln = 2, align = 'C') 
  
pdf.output("GFG_2_3_1.pdf") 

Файл Times_New_Roman.ttf находится в той же папке,что и самая программа. ОДнако я получаю такое сообщение:

RuntimeError: FPDF error: Undefined font: times_new_roman.ttf 

Как решить данную проблему?


Ответы (1 шт):

Автор решения: RomanR

Просто почитав документацию могу сказать, что для добавления кастомных шрифтов есть команда pdf.add_font

То есть перед строкой pdf.set_font("Times_New_Roman.ttf", size = 15) нужно добавить

pdf.add_font('TNRoman', '', 'Times_New_Roman.ttf', uni=True)

О чем ошибка и сообщает. https://pyfpdf.readthedocs.io/en/latest/reference/add_font/index.html

А в строке pdf.set_font("Times_New_Roman.ttf", size = 15) заменить "Times_New_Roman.ttf" на 'TNRoman' Проверять не проверял, но думаю должно работать.

→ Ссылка