2011-06-09 21 views
2

かなり小さなHTMLファイルをPDFに変換するのは、私のテスト環境(Windows 7)で2秒かかります。プロダクションWebサーバーでは、同じファイル(Debian)が193秒必要です。wkhtmltopdfはXサーバなしのDebian上では非常に遅い

Webサーバーは、管理対象ホスティングソリューションで実行されています。今私は、このコマンドを使用すると、それは簡単なPDFを生成するために、193秒かかることを訴えてきたことを、彼らは何もないと言う

xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "input_file.html" "output_file.pdf" 

:彼らはwkhtmltopdfをインストールし、私はそれを動作させるためにXVFBランを使用していた私に言いました彼らはそれについて行うことができます。本当にそうですか?

編集:何とか私のマネージドホスティングのサポートは、何らかのナッジング(これには0.8秒かかる)の後にこれを解決しました。私は彼らが静的なwkhtmltopdfバイナリや何かを再コンパイルしたかもしれないと思います。私は今xvfb-runなしでwkhtmltopdfを実行します。

答えて

2

私は(私は上図のような同様のアプローチでx11vnc、XnestのとXephyrでの使用)XVFBの経験を持っていないあなたは

xvfb :1 -screen 0 640x480x16 & 
DISPLAY=:1 wkhtmltopdf "input_file1.html" "output_file1.pdf" 
DISPLAY=:1 wkhtmltopdf "input_file2.html" "output_file2.pdf" 
DISPLAY=:1 wkhtmltopdf "input_file3.html" "output_file3.pdf" 
  • を実行しているXVFBを残すことができると仮定します。
  • 未使用vtty使用(:、1:2:3 ...)
  • おそらく競合状態が今そこにある、あなたはwkhtmltopdfを起動する前にsleep .5か何かしたい場合があり、その場合には)
+0

残念ながら、コードを使用すると、PDFファイルは作成されず、何も返されません。 – Vilhelm

+0

x11vncまたは他の代替手段の1つを使用しようとする可能性があります。 x11vncはヘッドレスです。私はwkhtmltopdfがページをレンダリングするためにGUIツールキット(gecko?webkit?)を使うためにX11サーバーを必要としていると仮定しています。任意のX11サーバー(リモートのものであっても...)が行います。ログファイルをチェックして、Xセッションに何が問題なのかを確認します。 – sehe

1

wkhtmltopdfは非常に遅くなる可能性があります.GPUが利用できないため、この場合はイメージのソフトウェアレンダリングを行っています。

代替方法はhttp://wkhtmltopdf.orgに行き、静止画像の1つをダウンロードすることです。真のヘッドレスモードで実行でき、Xサーバはまったく必要ありません。これはまだ遅いですが、動く部品が少なくて済むという利点があります。

関連する問題