ここではちょっとしたニッチなシナリオであり、直接テストするには、wkhtmltopdf (この場合は --read-args-from-stdin を使用してポート 7000 をリッスンする) を起動してデーモンとして実行する必要があります (および便利な html ファイルを手元に用意してください)。 .)
私が行った場合:
echo "-s letter -T 24mm -R 24mm -B 0mm -g ~/my.html /tmp/my.pdf" | nc localhost 7000
その後、非常に迅速に /tmp/my.pdf が表示されます ... これを 25 回続けて実行すると、wkhtmltopdf を 25 回上下に回転させた場合と同じ数の結果を得ることができます。
Walp、つまり、独自のキューを食べるデーモン内から THIS を呼び出せるようにする必要があり、さらに、結果の存在を確認し、それに応じて成功または失敗をチェックする前に、それが終了するのを待つ必要があります。
subprocess.call を見つけましたが、特定されていない理由で機能していません...つまり、Python プロンプトから:
call(['echo', '\"-s letter -T 24mm -R 24mm -B 0mm -g ~/my.html /tmp/my1.pdf\"', '|', 'nc', 'localhost', '7000'])
私は得る:
"-s letter -T 24mm -R 24mm -B 0mm -g ~my.html /tmp/my1.pdf" | nc localhost 7000
0
0 は、成功したと考えていることを示しています... しかし、bash 自体から同じステートメントを実行する場合とは異なり、wkhtmltopdf デーモンからは何も出てきません。印刷物には含まれていないので、余分な「エコー」をそこに貼り付けてみましたが、同じ結果です。
つまり...どういうわけか、これはbashプロンプトに直接入力した場合と同じ方法で物事を行うことにはなりません。
アイデア?専門知識?
ありがとう!