我正在尝试通过wkhtmltopdf
操作系统中的Amazon Linux
生成PDF,一切正常,但是当我尝试在HTML
上使用表情符号时,字体会中断,并且表情符号显示为黑框。
在部署之前,我在本地尝试过,并且可以在本地运行,Ubuntu
在本地,所以我的猜测是我在生产(亚马逊Linux实例)服务器中缺少某些内容(字体?)。我尝试安装Google Noto
字体,但没有任何反应。我将附加由同一命令通过HTML
生成的同一wkhtmltopdf
页的2个屏幕:
如您所见,即使断掉的表情符号下方的字体也没有按比例显示,我将在两个服务器中添加我使用的命令:
/my/path/to/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 --lowquality 'file:///my/path/to/page-test-pdf.html' '/home/user/test.pdf'
感谢您的时间。
答案 0 :(得分:1)
如果您正在运行PHP 7.x,则在dockerized映像中的wkhtmltopdf扩展名遇到问题。我们正在尝试使用超棒的字体,但文本无法正确呈现。导致此的一些编译问题。
使用以下二进制https://github.com/madnight/docker-alpine-wkhtmltopdf
时,问题已解决希望这可以帮助您前进。
编辑:您还必须安装所有使用的字体作为系统字体iirc,否则wkhtmltopdf将无法工作,因为找不到字体
答案 1 :(得分:1)
您可以找到类似问题的解决方法,here基本上twemoji.min.js
用相应的图像替换表情符号。关于奇怪的字体间距问题,您可以使用诸如roboto mono
之类的等宽字体。