テンプレートに基づいてPDFファイルを大量に生成していますが、パフォーマンスの大きな問題がすぐに発生しました。私の現在のシナリオは次のとおりです。
- dbから入力するデータを取得します
- 単一のデータ行とPDFフォームに基づいてfdfを作成します
.fdf
ファイルをディスクに書き込む- pdftkを使用してpdfをfdfとマージします(flattenコマンドを使用したfill_form)
.pdf
すべてのが生成されるまで、行を繰り返し処理し続けます- 生成されたすべてのファイルが最終的にマージされ、単一のpdfがクライアントに提供されます
私passthru
はクライアントに生の出力を提供するために使用します(ファイルの書き込み時間を節約します)が、これはパフォーマンスのほんの少しの改善です。総動作時間は200レコードで約50秒ですが、なんらかの形で少なくとも10秒に短縮したいと思います。
理想的なシナリオは、これらすべてのpdfをメモリ内で操作し、それらのすべてを個別のファイルに書き込まないことですが、そのようなデータをpdftkなどの外部ツールに渡すことができないため、出力を行うことは不可能です。もう1つのアイデアは、.fdf
これらすべての行を含む1つの大きなファイルを生成することでしたが、それは許可されていないようです。
私はここで非常に些細なことを見逃していますか?
アドバイスをありがとうございます。
PS。pdflibのような優れたライブラリを使用できることはわかっていますが、現在はオープンライセンスライブラリのみを検討しています。
編集:
テンプレートとして同じPDFを使用して複数のページでファイルを作成するための構文を理解しようとしてい.fdf
ますが、数時間かかり、適切なドキュメントが見つかりませんでした。