PDF生成のための先週の調査で、賛否両論の3つの解決策が見つかりました。
1)JSPDF clientside PDF generatorを使用すると、アプリケーションに簡単に統合できます。
長所:
- は、ボタンのクリックは、コンソールウィンドウに応答しないでレポートを生成するために使用することができます。
- 複数のブラウザでテストし、Chrome、Firefox、IEで同じ結果を表示します。
短所:
- 中解像度。 JSPDFは、rasterize.jsというライブラリを使用しています。このライブラリはHTMLコンテンツを取り込んで基本的にラスタライズするため、品質は少し落ちますが、私の意見の違いはほとんど分かりません。 (私は数時間にわたって研究を続けてきましたが、品質を向上させるために見つけ出すことのできる解決策だけが、サイズで遊んでいて、品質を向上させるアンチエイリアス機能を導入しています。 )
- ラスタライズされているため、ダウンロード後にPDFを編集することはできません。フラットPDFは、そのPDF内のテキストや何かを編集できないことを意味します。しかし、ユーザーがフォームに記入し、PDFが送信される場所にボタンを押したければ、JSPDFはそれを行うことができます。
2)PhantomJSは、PDF生成用の別のオプションです。
長所:
- 品質は素晴らしいですし、同じPDF生成のための複数のブラウザをサポートしています。
- PDFは作成後に編集可能です。
短所:これで、GoogleマップなどのレンダリングサードパーティのAPIを有効にする方法について
- 低サポート。あなたはGoogleマップのAPIに精通していない場合、回避することは可能ですが、難しいです。
- 主に、コンソールウィンドウからのPDF生成をサポートしています。さらに、PDFはオンザフライで生成されます。つまり、コンソールが実行されると、PDFファイルが作成され、インストーラで指定されたファイルディレクトリに送られます。ブラウザにダウンロードされていません。
3)Wkhtmltopdfは、PDF生成のための別のオプションであり、基本的にPhantomJSと同じ長所と短所があります。
長所:
- 品質は素晴らしいですし、同じPDF生成のための複数のブラウザをサポートしています。
- PDFは作成後に編集可能です。
短所:
- PDF年代を生成するには、コンソールウィンドウに依存しています。
- PDF作成のためのクライアントサイドスクリプトの実装がサポートされていません。彼らはサーバー側のドキュメントを持っています)