1

我正在使用基于 Qt 的wkhtmltopdf来生成本地网页的 PDF 版本。到目前为止,当我直接从命令行运行它时,它完全符合我的需要。例如,这有效:

wkhtmltopdf http://localhost/~acobster/foo/?render=1 ~/Desktop/foo.pdf

但是,当我尝试从 PHP 脚本调用它时,它会失败。它似乎与运行 as 有关nobody,因为

sudo -u nobody wkhtmltopdf http://localhost/~acobster/foo/?render=1 ~/Desktop/foo.pdf

导致它吐出这个错误大约一百次:

wkhtmltopdf[45642]:ATSFontGetFileReference 失败:错误 -120。Qt:内部:-108:错误 ATSUMeasureTextImage 文本/qfontengine_mac.mm:1136

我相信它抱怨无法呈现我在页面内的 CSS 字体系列规则中指定的字体“Palatino”。但即使我用 Times 替换 Palatino 并再次以无人身份运行,我也会得到:

QPainter::begin(): Returned false

为什么我能以普通用户的身份处理这种字体,但不能以 身份处理nobody?Qt 有什么东西不能很好地与那个用户一起玩吗?

4

0 回答 0