5

同じトピックに関するいくつかの投稿で私の質問に対する回答を見つけることができなかったので、ここでより具体的な質問をします.

私の質問は wkhtmltopdf と fpdf についてです。1 ページの請求書 (本当に基本的なデザイン) と 1 ページのレポート (基本的なデザインも) を作成するためにそれらの 1 つが必要なので、非常に小さい PDF ドキュメントです。

ほとんどの人がパフォーマンスのためにwkhtmltopdfを推奨していると読んだことがありますが、小さな1ページのドキュメントの場合、fpdfと比べて本当に違いがありますか? 本当にメモリ消費量が少ないのですか?もっと早く?

ばかげた質問であることはわかっていますが、wkhtmltopdf を一度に複数回実行できるかどうかも知る必要があります。つまり、私のサイトに 1000 人のユーザーが同時に請求書を PDF で保存しようとしているとしたら? 制限はありますか、それはどのように機能しますか? 私は fpdf が php クラスであることを知っているので、これについて「心配する」必要はありません (私が推測する適切な php.ini 構成だけが必要です)。

何を提案しますか?小さな PDF ドキュメントの場合でも、多くの要求を同時に処理できる高性能。

他のオプションはありますか?

ご協力ありがとうございました!

4

1 に答える 1

9

短い答えはイエスです - wkhtmltopdf の複数のインスタンスを同時に作成し、それぞれが独自の html ページを pdf に変換できます。ただし、wkhtmltopdf はオペレーティング システム プロセスとして実行されます。つまり、1000 人のユーザーが同時に請求書を表示している場合、サーバーで 1000 の wkhtmltopdf プロセスが生成されますが、これはおそらく望ましくありません。

一方、FPDF は PHP ランタイム内の Web サーバー プロセスの一部として実行されるため、この制限はありません。小規模または大規模な請求書を作成する場合は、FPDF を使用して請求書を作成するのはかなり簡単なので、FPDF を使用することをお勧めします。PDF ページのレイアウトを細かく制御できるだけでなく、後でメンテナンスやアップグレードを行う際の時間を節約できます。

私が wkhtmltopdf で遭遇した問題の 1 つは改ページです。Wkhtmltopdf は、期待どおりにページを壊しません。たとえば、1 行のテキストが 2 つのページに分割されている場合があります。テキスト行の上部が 1 つのページの最後に表示され、下部が次のページの開始に表示されます。この動作を回避するには、HTML ページで css 属性の page-break-after または page-break-before を慎重に設定する必要があります。

于 2011-09-26T18:43:08.293 に答える