背景/ニーズ
Node.JS と Express を使用して Web アプリケーションのグループで作業しています。ハード コピーおよびハード コピー フォームとして印刷できるレポートを生成できる必要があります。レポートと手書きフォームの両方について、サーバー上で PDF を動的に生成したいと考えています。現在、サーバーで EJS テンプレートを使用しています。
オプション
テンプレートを使用してフォーム/レポートを作成し、結果の HTML から PDF を生成できると便利だと考えていましたが、これを行うためのオプションは、私が見つける限り制限されているようです。私は2つの異なる解決策を見てきました:
- PhantomJS -- (npm node-phantomモジュール)
- PDFキット
編集: wkhtmltopdfに依存するnode-wkhtmlと呼ばれる HTML から PDF を生成できる別の Node.JS モジュールを見つけました。現在、 と を使用して比較しています。これらの両方を使用して Node サーバーで PDF を生成できましたが、どちらも必要なことを実行できるようです。node-phantom
node-wkhtml
PhantomJS を使用して Web サイトから PDF ドキュメントをレンダリングする例をいくつか見てきましたが、私が見た例はすべて URL を使用しており、HTML の文字列をフィードしていません。PDF レポートを動的に生成するために、これをテンプレートで機能させることができるかどうかはわかりません。
レポートのリクエストが届いたとき、EJS テンプレートから HTML を生成し、それを使用して PDF を生成したいと考えていました。ファントムを使用して、リクエストを行わずにサーバー上で完全にページを動的に作成する方法はありますか?
私の他のオプションは、PDF の動的生成を可能にする PDFkit を使用することですが、これはキャンバスのような API であり、私が知る限り、テンプレートの概念を実際にはサポートしていません。
質問
Node で PhantomJS を使用して、テンプレートから生成された HTML から動的に PDF を生成できるかどうかは誰にもわかりませんか? または、Node/Express バックエンドから印刷可能なレポート/フォームを生成して提供するために使用できる他のソリューションを知っている人はいますか?