wkhtmltopdf亚马逊linux无法编码表情符号

时间:2018-11-21 09:27:53

标签: encoding wkhtmltopdf emoji amazon-linux

我正在尝试通过wkhtmltopdf操作系统中的Amazon Linux生成PDF,一切正常,但是当我尝试在HTML上使用表情符号时,字体会中断,并且表情符号显示为黑框。 在部署之前,我在本地尝试过,并且可以在本地运行,Ubuntu在本地,所以我的猜测是我在生产(亚马逊Linux实例)服务器中缺少某些内容(字体?)。我尝试安装Google Noto字体,但没有任何反应。我将附加由同一命令通过HTML生成的同一wkhtmltopdf页的2个屏幕:

本地(Ubuntu): Local Image

生产(Amazon Linux): Production Image

如您所见,即使断掉的表情符号下方的字体也没有按比例显示,我将在两个服务器中添加我使用的命令:

/my/path/to/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 --lowquality 'file:///my/path/to/page-test-pdf.html' '/home/user/test.pdf'

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

如果您正在运行PHP 7.x,则在dockerized映像中的wkhtmltopdf扩展名遇到问题。我们正在尝试使用超棒的字体,但文本无法正确呈现。导致此的一些编译问题。

使用以下二进制https://github.com/madnight/docker-alpine-wkhtmltopdf

时,问题已解决

希望这可以帮助您前进。

编辑:您还必须安装所有使用的字体作为系统字体iirc,否则wkhtmltopdf将无法工作,因为找不到字体

答案 1 :(得分:1)

您可以找到类似问题的解决方法,here基本上twemoji.min.js用相应的图像替换表情符号。关于奇怪的字体间距问题,您可以使用诸如roboto mono之类的等宽字体。