135

既存の (X)HTML ドキュメントから PDF ファイルを自動的に生成する必要があります。入力ファイル (レポート) はかなり単純なテーブル ベースのレイアウトを使用するため、非常に高度な JavaScript/CSS のサポートはおそらく必要ありません。

私は Java での作業に慣れているので、Java プロジェクトで簡単に使用できるソリューションが望ましいです。ただし、Windows システムでのみ動作する必要があります。

実行可能ですが、高品質の出力を (少なくともすぐに) 生成しない方法の 1 つは、CSS2XSLFOと Apache FOP を使用して PDF ファイルを作成することです。私が遭遇した問題は、CSS 属性が適切に変換されている一方で、テーブル レイアウトがかなり混乱しており、テキストがテーブル セルからはみ出してしまうことでした。

また、Gecko レンダリング エンジンを使用するための Java-API である Jrex についても簡単に調べました。

Internet Explorer のレンダリング エンジンからレンダリングされたページを取得し、それを PDF-Printer ツールに自動的に送信する方法はありますか? Windows での OLE プログラミングの経験がないので、何が可能で何が不可能かわかりません。

アイデアはありますか?

4

8 に答える 8

77

Flying Saucer XHTML レンダラー プロジェクトは、XHTML から PDF への出力をサポートしています。ここで例を見てください。

于 2009-03-11T09:22:44.007 に答える
52

WKHTMLTOPDFを試しましたか?

これは単純なシェル ユーティリティであり、WebKit のオープン ソース実装です。どちらも無料です。

ここに小さなチュートリアルを設定しました

編集 (2017):

もし今日何かを作るとしたら、もうその道には行かないでしょう。
ただし、代わりにhttp://pdfkit.org/を使用します。
おそらく、ブラウザで実行するために、すべてのnodejs依存関係を取り除きます。

于 2009-08-31T20:45:49.650 に答える
47

iTextをチェックしてください。これは、HTML からのデータの読み取りをサポートする純粋な Java PDF ツールキットです。最近、プロジェクトで CMS からコンテンツを取得して PDF ファイルとしてエクスポートする必要があったときに使用しましたが、すべてかなり簡単でした。CSS とスタイル タグのサポートはかなり制限されていますが、問題なくテーブルをレンダリングします (ただし、列幅を設定することはできませんでした)。

HTML から PDF を作成すると、次のようになります。

Document doc = new Document(PageSize.A4);
PdfWriter.getInstance(doc, out);
doc.open();
HTMLWorker hw = new HTMLWorker(doc);
hw.parse(new StringReader(html));
doc.close();
于 2009-03-11T09:32:24.267 に答える
4

資金があれば、このビデオが示すように、 Prince XMLに勝るものはありません。

于 2009-03-11T09:17:10.277 に答える
2

拡張機能付きのヘッドレス Firefox を使用できます。実行するのはかなり面倒ですが、良い結果が得られます。

詳細については、この回答を確認してください。

于 2009-03-11T09:22:21.357 に答える
0

Amyuni WebkitPDFは、WindowsのみのソリューションのJNIで使用できます。これは、HTMLからPDF / XAMLへの変換ライブラリであり、商用および非商用で無料で使用できます。

出力ファイルがすぐに必要ない場合は、スケーラビリティを向上させるために、キューといくつかのバックグラウンドプロセスを用意して、そこからアイテムを取得し、変換してデータベースまたはファイルシステムに保存することをお勧めします。

通常の免責事項が適用されます

于 2012-09-26T18:13:48.840 に答える
0

質問のサイドバーを見ると、関連する質問がたくさん表示されます...

あなたのコンテキストでは、より簡単な方法は、 PDFCreatorのような PDF 印刷ドライバーをインストールし、ページをこの出力に印刷することです。

于 2009-03-11T09:34:18.443 に答える