Qt に基づくwkhtmltopdfを使用して、ローカル Web ページの 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
このエラーを約100回吐き出させます:
wkhtmltopdf[45642] : ATSFontGetFileReference が失敗しました: エラー -120。Qt: 内部: -108: エラー ATSUMeasureTextImage text/qfontengine_mac.mm: 1136
ページ内の CSS font-family ルールで指定したフォント「Palatino」をレンダリングできないことについて不平を言っていると思います。しかし、Palatino を Times に置き換えて、nobody として再度実行しても、次のようになります。
QPainter::begin(): Returned false
このフォントを通常のユーザーとして処理できるのに、なぜ として処理できないのnobody
ですか? Qt について、そのユーザーとうまく動作しないものはありますか?