1

同様の質問のリストがあることは知っていますが、すべてユーザーの操作なしでページを処理します(一部のjsが存在する場合でも静的です)。

ユーザーが対話できるページがあるとしましょう (たとえば、変更よりも svg、またはドリルダウン付きの html テーブル - コンテンツの変更)。それらの相互作用はページを変更します。質問を入力すると、stackoverflowでも同じことが起こります...

アイデアは、「pdfに変換」ボタンを追加して、htmlの状態を取得し、ユーザーにpdfバージョンを送信することです(Javaサーバーがあります)。

ブラウザの印刷を使用することは、私が探している答えではありません:-)。

これは月の棒ですか?

4

3 に答える 3

1

HTMLビューを生成するパラメーター(つまり、ユーザーがクリックしたもの、ユーザーが行った選択など)を保存する必要があります。HTMLビューを生成するパラメーターのリストを持つことができる場合は、パラメーターのリストを受け入れ(JSON post?)、HTMLビューを生成し、それをPDF生成ルーチンに渡すメソッドを持つことができます。私はこの目的のためのJavaライブラリにあまり精通していませんが、PHPにはTCPDFがHTML出力を取得して、基本的にPDFを生成することができます。確かに、同じことを実行できるJavaライブラリがあります。または、パラメータを使用して、選択したPDFライブラリを使用して繰り返し出力できる行/配列のリストを取得できます。

于 2012-05-22T16:57:41.567 に答える
1

iTextPDFAspose.PDFの両方でそれを行うことができます(2つの異なるプロジェクトで使用されているのを見ました)が、魔法はなく、いくつかの作業を行う必要があります

手順は大まかに次のとおりです。

  1. jQueryまたはinnerHTMLで印刷するドキュメントの部分を(文字列として)取得します
  2. サーバー側のサービスを呼び出して、これをPDFに変換します
  3. [サーバーサイド]whitlistベースのツールを使用してhmtlをクリーンアップします(ハッキングされたくない場合を除く)。JSoupはそのために最適です。
  4. [サーバーサイド]ITextまたはAsposeAPIを使用してHTMLからPDFを作成します(これは簡単ではありません。ドキュメントを読む必要があります)
  5. ドキュメントをダウンロードする
于 2012-05-22T16:59:44.760 に答える
0

また、DocRaptor もお勧めします。DocRaptor は HTML から PDF への API で、私の会社である Expected Behavior によって構築されています。

DocRaptor は Prince XML を使用して PDF を生成するため、同様の製品よりも高品質の結果が得られます。

当社のサービスを使用して独自の Web アプリケーションに PDF 生成を追加するのは、当社のサーバーに HTTP POST 要求を行うのと同じくらい簡単です。

DocRaptor のホームページへのリンクは次のとおりです。

ドクターラプター

API ドキュメントへのリンク:

DocRaptor API ドキュメント

于 2012-05-24T20:16:14.390 に答える