UnicodeEncodeError: 'latin-1' codec can't encode characters in position: ordinal not in range(256)

目录

UnicodeEncodeError: 'latin-1' codec can't encode characters in position: ordinal not in range(256)

#问题

#解决

#完整错误


#问题

没有设置字体;

注意,如果是商业使用,注意在pdf中使用可以商用免费的并且可以嵌入pdf的字体;

以思源字体为例;

pdf.add_font('siyuan','',r"C:\Users\usr\AppData\Local\Microsoft\Windows\Fonts\SourceHanSansSC-VF.ttf",True)
pdf.set_font('siyuan', '', 100)

from fpdf import FPDFclass PDF(FPDF):def header(self):# Logo#self.image('logo_pb.png', 10, 8, 33)# Arial bold 15self.set_font('Arial', 'B', 15)# Move to the rightself.cell(80)# Titleself.cell(30, 10, '测试', 1, 0, 'C')# Line breakself.ln(20)# Page footerdef footer(self):# Position at 1.5 cm from bottomself.set_y(-15)# Arial italic 8self.set_font('Arial', 'I', 8)# Page numberself.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C')# Instantiation of inherited class
pdf = PDF()
pdf.alias_nb_pages()
pdf.add_page()
#pdf.set_font('Arial', '', 12)
for i in range(1, 41):pdf.cell(0, 10, 'Printing line number ' + str(i), 0, 1)
pdf.output('tuto2.pdf', 'F')

#解决

设置字体,能够匹配汉子的字体库

pdf.set_font('Arial', '', 12)

from fpdf import FPDFclass PDF(FPDF):def header(self):# Logo#self.image('logo_pb.png', 10, 8, 33)# Arial bold 15self.set_font('Arial', 'B', 15)# Move to the rightself.cell(80)# Titleself.cell(30, 10, '测试', 1, 0, 'C')# Line breakself.ln(20)# Page footerdef footer(self):# Position at 1.5 cm from bottomself.set_y(-15)# Arial italic 8self.set_font('Arial', 'I', 8)# Page numberself.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C')# Instantiation of inherited class
pdf = PDF()
pdf.alias_nb_pages()
pdf.add_page()
pdf.set_font('Arial', '', 12)
for i in range(1, 41):pdf.cell(0, 10, 'Printing line number ' + str(i), 0, 1)
pdf.output('tuto2.pdf', 'F')

#完整错误

---------------------------------------------------------------------------
UnicodeEncodeError                        Traceback (most recent call last)
<ipython-input-8-acbb1446b69a> in <module>30 for i in range(1, 41):31     pdf.cell(0, 10, '测试' + str(i), 0, 1)
---> 32 pdf.output('tuto2.pdf', 'F')D:\anaconda\lib\site-packages\fpdf\fpdf.py in output(self, name, dest)1063         #Finish document if necessary1064         if(self.state<3):
-> 1065             self.close()1066         dest=dest.upper()1067         if(dest==''):D:\anaconda\lib\site-packages\fpdf\fpdf.py in close(self)244         self._endpage()245         #close document
--> 246         self._enddoc()247 248     def add_page(self, orientation=''):D:\anaconda\lib\site-packages\fpdf\fpdf.py in _enddoc(self)1634     def _enddoc(self):1635         self._putheader()
-> 1636         self._putpages()1637         self._putresources()1638         #InfoD:\anaconda\lib\site-packages\fpdf\fpdf.py in _putpages(self)1168             if self.compress:1169                 # manage binary data as latin1 until PEP461 or similar is implemented
-> 1170                 p = self.pages[n].encode("latin1") if PY3K else self.pages[n]1171                 p = zlib.compress(p)1172             else:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 134-135: ordinal not in range(256)

UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters in position: ordinal not in range(256)相关推荐

  1. 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)

    解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 参考文章: (1)解决UnicodeEnco ...

  2. python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1

    一.背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情.仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门 ...

  3. [转]Python UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 的解决办法...

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 的解决办法 python在安装时,默认的编码是ascii,当 ...

  4. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    在linux centos系统中使用python2.7.2对一个字符串解码然后输出,代码如下: s = "哈哈哈" print s.decode('utf-8') 结果报了如下的错 ...

  5. UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 8-8: Non-BMP character not sup

    场景 报错信息如下: UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 8-8: Non-BMP charac ...

  6. django-oscar-paypal出现UnicodeEncodeError: 'latin-1' codec can't encode characters in position XXXX

    报错来源于django-oscar-paypal, 当你把China设置为Shipping Country的时候, 在 http://127.0.0.1:8000/zh-cn/checkout/pre ...

  7. UnicodeEncodeError: ‘charmap‘ codec can‘t encode characters in position 0-1: character maps to <unde

    使用vc code,编辑python对数据进行入库时,出现如下错误: UnicodeEncodeError: 'charmap' codec can't encode characters in po ...

  8. requests请求get接口报错UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters in position 13-14

    一.问题描述 在做接口自动化测试时,调用requests的get方法发送请求,报错,报错信息如下: Traceback (most recent call last):File "D:\D1 ...

  9. UnicodeEncodeError: 'charmap' codec can't encode characters in position xx: character maps to undefi

    Windows server服務器部署報錯: UnicodeEncodeError: 'charmap' codec can't encode characters in position 44-54 ...

最新文章

  1. 选择排序算法流程图_C#实现——十大排序算法之选择排序
  2. GBDT算法原理深入分析
  3. 《码出高效:Java 开发手册》正式发布,83行代码计划启动
  4. 启动php出现的错误
  5. 【推荐】国外优秀Drupal答疑网站
  6. oracle 数据库查询 COALESCE字符函数
  7. http协议下需要服务器推送吗,HTTP/2.0 服务器推送实现
  8. 深度好文 | 战“疫”上云正当时:打开云计算的正确姿势
  9. 有关emoji表情以及utf-16编码
  10. 去年购房者平均年龄为29.5岁 80后家庭人均居住面积最小
  11. 网络直播对现代社会的影响
  12. 冰点还原容易出现的问题总结
  13. 去掉任务栏中SATA硬盘的安全删除硬件图标
  14. 学习Spherical Harmonics的简记
  15. STM8S1003 模拟SPI 驱动 SI4432
  16. 关于数据分析的一些实例报告
  17. 皮秒 纳秒 微秒 毫秒 秒 ps、ns、us、ms、s 时间单位之间的换算
  18. 计算机软件理论基础集合论,现代数学专论简介分解.docx
  19. Android开发之多级下拉列表菜单实现(仿美团,淘宝等)
  20. 【物理实验及其数据处理】 集成电路传感器特性测量及其应用

热门文章

  1. HTML的标签描述22
  2. python怎么找资源_新手Python学习资源哪里找好呢 视频?
  3. 为什么很多人考上了研究生变得不快乐了?
  4. PCL1.8.0+VS2013+Win10 x64的配置教程
  5. getFields()和getDeclaredFields的区别
  6. Python 中 zip() 函数的用法
  7. 第二十七课.深度强化学习(二)
  8. VMware9.0安装Ubuntu出现Software virtualization is incompatible 问题的解决
  9. python的类属性和方法_Python中类属性、实例属性和实例方法的区别
  10. python编程顺序_Python编程中归并排序算法的实现步骤详解