我已经在 Centos 5.5 上安装了 wkhtmltopdf。(因为有图书馆问题,已经有 4 天了)。它现在部分工作。我说的部分原因是,由 wkhtmltopdf 创建的所有 pdf 都包含正方形而不是文本?
我能做些什么?我搜索了谷歌,但我找不到任何东西。
感谢你的帮助。
我已经在 Centos 5.5 上安装了 wkhtmltopdf。(因为有图书馆问题,已经有 4 天了)。它现在部分工作。我说的部分原因是,由 wkhtmltopdf 创建的所有 pdf 都包含正方形而不是文本?
我能做些什么?我搜索了谷歌,但我找不到任何东西。
感谢你的帮助。
当我遇到黑色方块问题时,我可以通过安装urw-fonts包在不安装 X11 的情况下解决它。
我能够使用以下资源解决此问题:
http://code.google.com/p/wkhtmltopdf/wiki/static
简而言之,您可能不需要安装整个 x11 库及其所有依赖项。只需安装 urw-fonts 就可以了。上述资源甚至提到CentOS有这个问题。
在您的服务器上运行此命令:
sudo yum install urw-fonts libXext openssl-devel
如果有人在 Alpine 上遇到同样的问题。这为我解决了这个问题:
apk --update add ttf-dejavu
我正在使用带有 wkhtmltox 12.4 的 CentOS 7,发现到目前为止没有任何建议可以修复我在输出 PDF 中的块文本。
对我来说,最终的解决方案是安装 dejavu-sans-fonts。
我认为您需要尝试安装 X11 软件包,wkhtmltopdf 将其用于字体等。您描述的症状正是程序在缺少这些软件包时会做的事情。
独立的 wkhtmltopdf 不需要 x-server - 试试看是否能缓解问题。我让它在没有图形/x 服务器的 CentOS 上工作,它工作得非常好。
我猜这是字体问题,或者可能是编码问题。
您的 HTML 使用什么编码?(这更容易检查,所以我先列出了它)如果它很时髦,您可能需要在将其提供给 wkhtmltopdf 之前对其进行翻译。在这种情况下,报告错误也可能会有所帮助。
wkhtmltopdf 知道如何找到您的字体吗?如果 wkhtmltopdf 找不到您系统的字体,那么它有一个严重的问题,可能会退回到“未知字符”字符(空框)。
此外,如果您的文本包含请求字体中实际不存在的字符,您将获得未知字符字符。如果您应该使用“Courier New”并且文本都是阿拉伯语......字体 courier 不包含这些字符。浏览器有各种可以使用的后备位置,但 PDF 渲染器只会尽其所能完成所告知的事情。在这种情况下,这就是未知字符。
简单测试:wkhtmltopdf 能否在您的系统上成功地将“hello world.html”转换为 PDF?
<html><body>Hello World</body></html>
如果可行,您需要弄清楚“脑死亡”和“您的真实 html”之间的界线哪里出错了。