2016-06-28 16 views
3

wkhtmltopdfを使用して、制御している両方のページ(レンダリングが完了したときにwindow.statusを設定できます)とレンダリングしないページ。 this thread on the mailing listによれば、--window-statusをある値に設定し、--javascript-delayも設定できるはずであり、これらの条件のいずれかが満たされるとすぐにレンダリングが開始されます。それは私の経験ではありません。コマンドwkhtmltopdf --javascript-delay 10000 --window-status imdone http://www.google.com/ /tmp/google.pdfは永遠に待ちます(バージョン0.12.3、OSXとLinuxの両方)。メーリングリストに記載されているように、どのように行動することができますか?wkhtmltopdfの--window-statusと--javascript_delayの組み合わせ

答えて

4

--run-scriptタグを使用してwindow.statusを手動で設定してください。これは、パッチを適用したバージョンとパッチを適用していないQTを使用するバージョンの両方で動作します。ただし、--run-scriptには、そのパラメータをエスケープする際の小さなバグがあるようです。したがって、次の行は、あなたに要求した動作が得られます。一つは--run-script引数にスペースを入れた場合、前述のバグのため、それが機能しないこと

wkhtmltopdf --window-status imdone --run-script \ 
'window.setTimeout(function(){window.status="imdone";},1000);' \ 
http://google.com/ /tmp/google.pdf 

は、それゆえ以下は動作しません

wkhtmltopdf --window-status imdone --run-script \ 
'window.setTimeout(function(){window.status = "imdone";}, 1000);' \ 
http://google.com/ /tmp/google.pdf