比萨.CreatePDF与国家字符

问题描述

我正在使用pisa.CreatePDF通过以下方式从HTML模板生成pdf文件:

template = get_template('/app/templates/pdf/sth.html')
html = template.render(dt)
f = open('/tmp/sth.pdf','wb')
pisa.CreatePDF(BytesIO(html.encode('UTF-8')),dest=f,encoding='UTF-8')

。 sth.html具有以下代码来获取匈牙利民族字符:

<style type="text/css">
    @page { size: A4; margin: 1cm; }
    @font-face { font-family: Arial; src: url({{ font_link }}); }
    ...
</style>

,其中font_link是TTF字体(Vera.ttf)的URL。

当我生成pdf文件并使用chrome打开它时,它可以正常工作,但是如果我使用外部pdf查看器(例如xpdf)打开同一文件,它将显示矩形而不是特殊的匈牙利字符,而不是ASCII。

我从未见过以不同的查看者打开pdf的情况,但是我想这是因为字体的链接。

我如何使用相同的字体文件,但是以某种方式将字体文件的内容包含在pdf文件中?这样我就可以正确打开生成的pdf文件,而无需访问Vera.ttf本身?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...