問題タブ [node-html-pdf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node.js で動的に生成された HTML を使用してブラウザに PDF ファイルをストリーミングする
わかりました、ここにこの質問のいくつかのバージョンがありますが、私のものは他のいくつかよりも少し深くなっており、満足のいく答えは見られません.
私が欲しいもの:
ユーザーによってコンテンツが頻繁に変更される Web サイトのページがあり、「PDF を生成」というボタンを押して、ページ上の関連情報を見栄えの良い PDF レポートに変換できるようにしたいと考えています。
Herokuにデプロイして、NodeJS、Expressでこれをやろうとしています。
一般的に、これは私がこれを達成しようとしている方法です:
私の計画:
- GET リクエストを開始する
- データベースにクエリを実行して関連する結果を得る
- EJS テンプレートにデータをロードする
- 結果の HTML を保存します
- npm モジュールHTML-pdfを使用してブラウザにストリーミングします
その他の重要な詳細:
- このファイルは一時的なものです。どこにも保存したくありません。
- その時点でブラウザにのみ存在することを意図しているため、どこにも書き込む必要さえないことを好みます。
- このアプリは Heroku にデプロイされており、その構造内で動作する必要があります。私は、S3 のようなファイル ストアを使用したくありません。
私のコード:
GET
次のような AJAX 呼び出しでリクエストを開始します。
スクリプトを実行するとストリームが生成され、コンソールは PDF が作成されたことをログに記録します。結果のファイルをローカル システムに保存するだけでは問題ありませんが、アプリでは次のエラー メッセージが表示されます。
つまり、PDF の原材料が作成されているようなものですが、ログに記録されず、アプリが読み取れるような方法で作成されていません。
私はこれについてさまざまな解決策を受け入れるので、もっと簡単な方法があれば、私はすべて耳を傾けます. ただし、現在のスタックに固執することを好みます。