为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的Pyfpdf土耳其字符

Python中的Pyfpdf土耳其字符

心有法竹 2022-07-19 15:30:18
我想使用包含土耳其语字符的文本在我的 Python 应用程序中创建一个 pdf,但是我收到了一个错误。我的代码如下。我怎样才能解决这个问题?# -*- coding: utf-8 -*-from fpdf import FPDFimport osdef 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' codec can't encode character '\u0130' in position 60: ordinal not in range(256)' 错误epw = pdf.w - 2 * pdf.l_marginpdf.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 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

我将“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')


查看完整回答
反对 回复 2022-07-19
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号