1

Flying Saucer( http://code.google.com/p/flying-saucer/など)のサーバーサイドJavaでHTML+CSSをPDFに変換しています。

ここで、RaphaelJSのようなクライアント側の視覚化APIの成長に伴う代替アプローチを検討する必要があります。これは、PDFエクスポートにも含める必要があります。

理想的には、印刷しやすいレイアウトとCSS(Googleマップのようなもの)を用意し、Javascript呼び出しでウィンドウを個別のPDFではなく、サイレントにPDFファイルに「印刷」できる魔法の方法があります。生成パイプライン。

そのようなことはありますか?

そうでない場合、他にどのようなアプローチをお勧めしますか?

例えば

  • node.jsまたはRhinoでRaphaelサーバー側を実行し、Batikを使用してSVG出力を画像に変換し、PDFサーバー側をレンダリングします
  • 同じことですが、Raphaelがすでにクライアント側で行った作業からSVGを取得するためにいくつかのハックを行います
  • 生成されたHTML/JSサーバー側をキャプチャして実行するには、wkhtmltopdfやphantomjsなどのヘッドレスブラウザをサーバーで実行します。

これらのアプローチまたは他の提案のいずれかで成功しましたか?

4

2 に答える 2

1

これらの2つのオプションは私のために働いた:

  • html2canvasを使用したクライアント側のPNG生成(canvasがサポートされている場合にのみ機能します)

  • wkhtmltopdfを使用したサーバー側のPDFまたはPNGの生成( xvfbが必要な場合があります

これらのソリューションの使用方法について詳しく知りたい場合は、お問い合わせください。

于 2013-01-29T21:54:57.947 に答える
1

ヘッドレスブラウザでPDFサーバー側を印刷できるようにするために、PhantomJSとCasperJSの両方の(非常に)簡単なテストを設定しました。確かに追加の非Javaツールが必要ですが、このアプローチはより将来性があると思います。これらの例では、Webページを動的にロードし、Angularを初期化してから、Javascriptコードと対話して、ユーザーが実際のブラウザーで変更したようにページを印刷できます。

これが私の例です:https ://github.com/fmarot/miscPOC/tree/master/angularAppOutputPDF

于 2013-02-28T16:57:42.383 に答える