Pyfpdf Turki sh Символ Python - PullRequest
       62

Pyfpdf Turki sh Символ Python

0 голосов
/ 05 февраля 2020

Я хочу создать PDF в своем приложении Python, используя текст, содержащий символы Turki sh, но я получаю ошибку. Мои коды ниже. Как я могу это исправить?

# -*- coding: utf-8 -*-
from fpdf import FPDF
import os

def add_image(image_path):
    pdf = FPDF()
    pdf.add_page()

    epw = pdf.w - 2 * pdf.l_margin
    pdf.set_font('Arial', 'B', 14.0)
    txt = u'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
    stxt = txt.encode('iso-8859-9')
    pdf.cell(epw, 0.0, stxt, align='C')

Я получаю код UnicodeEncodeError: 'latin-1' c не может закодировать символ '\ u0130' в позиции 60: порядковый номер не в диапазоне (256) 'ошибка, если я использую коды ниже

epw = pdf.w - 2 * pdf.l_margin
pdf.set_font('Arial', 'B', 14.0)
txt = 'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
#stxt = txt.encode('iso-8859-9')
pdf.cell(epw, 0.0, txt, align='C')

1 Ответ

0 голосов
/ 06 февраля 2020

Я скачал шрифт 'tr-arial.ttf' в папку приложения и нашел это решение:

epw = pdf.w - 2 * pdf.l_margin
txt = u'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
pdf.add_font('tr-arial', '', 'tr-arial.ttf', uni=True)
pdf.set_font('tr-arial', '', 11)
pdf.cell(epw, 0.0, txt, align='C')
...