首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyFPDF添加表情符号

使用PyFPDF添加表情符号
EN

Stack Overflow用户
提问于 2020-05-07 19:39:58
回答 1查看 600关注 0票数 1

我正在写一个程序,应该是把一个段落转换成PDF。上面提到的很多段落都有表情符号,我不知道该如何让它们在PDF上显示出来。

每当段落中有表情符号时,我都会收到以下错误

代码语言:javascript
复制
File "C:\Python38\lib\site-packages\fpdf\fpdf.py", line 1449, in _putTTfontwidths
    if (font['cw'][cid] == 0):
IndexError: list index out of range

现在,根据我的理解,这基本上是说在字体中这个未编码的位置没有找到表情符号。但我仔细查看了字体,它确实包含表情符号。

获取字体‘’cw‘的长度显示,当有问题的表情符号位于位置128522时,它会上升到65536,这几乎是距离的两倍。

现在如果我从这里编辑fpdf代码

代码语言:javascript
复制
if (font['cw'][cid] == 0):
        continue

到这个

代码语言:javascript
复制
try:
    if (font['cw'][cid] == 0):
        continue
except:
    continue

它打印2个方框,而不是表情符号,但如果我复制粘贴到web浏览器中,它们可以正确显示。

我假设这是一个编码问题。但是我并没有真正的插手编码,所以我不确定如何继续。

EN

回答 1

Stack Overflow用户

发布于 2020-05-07 19:46:46

似乎是一个已知的错误:https://github.com/reingart/pyfpdf/issues/131

看起来Fpdf已经有一段时间没有更新了。显然有一个叫做fpdf2的分支:https://pypi.org/project/fpdf2/

如果这也失败了,您可以看看ReportLab或WeasyPrint库哪一个更适合您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61656858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档