検索

ホームページ  >  に質問  >  本文

JavaでHTMLファイルをインメモリPDFファイルに変換する方法はありますか?

HTML ファイルを受け取ったので、それを メモリ内 PDF ファイルに変換したいと考えています。変換中は、外部の場所を使用したくありません。私が望むのは、記憶に留めておきたいだけです

これまで、変換のためにいくつかの Java ライブラリを試してきましたが、常にどこかに一時ファイルが作成され、そこから読み取り/書き込みが行われます。変換中に I/O を実行したくありません。

P粉819533564P粉819533564267日前400

全員に返信(1)返信します

  • P粉308783585

    P粉3087835852024-02-27 10:09:20

    HTMLWorker クラスは何年も前に非推奨になりました。 HTMLWorker の目標は、小さくて単純な HTML フラグメントを iText オブジェクトに変換することです。完全な HTML ページを PDF に変換することを目的としたものではありませんでしたが、多くの開発者がそのように使用しようとしています。 HTMLWorker がすべての HTML タグをサポートしていなかったり、CSS ファイルを解析しなかったりするため、この結果、多くのフラストレーションが発生しました。この不満を避けるために、HTMLWorker は iText の最新バージョンから削除されました。

    2011 年に、iText Group は、iText 5 に基づいて構築されたユニバーサル XML to PDF ツールとして XML Worker をリリースしました。デフォルトの実装では、XHTML (データ) と CSS (スタイル) を PDF に変換し、HTML タグをマッピングします。

    、 そして

  • 他の XML 形式に XML ワーカーを使用した実装は知りませんが、多くの開発者は XML ワーカーを jsoup と組み合わせて HTML2PDF コンバーターとして使用していました。

    XML Worker は URL2PDF ツールではありませんでしたが、XML Worker は、HTML を PDF に変換するという唯一の目的のために作成された予測可能な HTML を期待していました。一般的な使用例は請求書の作成でした。請求書のデザインを Java でプログラミングするのではなく、開発者は、ドキュメントの構造を定義する単純な HTML テンプレートと、スタイルを定義するいくつかの CSS を作成することを選択しました。次に、HTML にデータを入力し、XML ワーカーを使用して請求書を PDF ドキュメントとして作成し、元の HTML を破棄しました。この使用例については、第 4 章で詳しく説明します。XSLT を使用してメモリ内で XML を HTML に変換し、その HTML を pdfHTML アドオンを使用して PDF に変換します。

    iText 5 が最初に作成されたとき、PDF をできるだけ早く生成し、完了するとページを OutputStream にフラッシュするツールとして設計されました。 iText が 2000 年に初めてリリースされたとき、非常に意味のあるデザインの選択肢が 16 年後の iText 5 にもいくつか登場しています。残念ながら、これらの選択によっては、XML ワーカーの機能を多くの開発者が期待する品質レベルに拡張することが、不可能ではないにしても、非常に困難になります。本当に優れた HTML から PDF へのコンバーターを作成したい場合は、iText を最初から書き直す必要があります。やった。

    2016 年に、私たちは iText 7 をリリースしました。これは iText の完全に新しいバージョンで、以前のバージョンとの互換性はありませんが、pdfHTML を念頭に置いて作成されました。新しいレンダラー フレームワークには多くの作業が費やされました。 iText 7 を使用してドキュメントを作成すると、レンダラーとそのサブレンダラーのツリーが構築されます。レイアウトはこのツリーをたどることによって作成されます。これは、HTML から PDF への変換を処理するのに適しています。 iText オブジェクトは、HTML タグとよりよく一致し、「CSS 方式」でスタイルを設定できるように完全に再設計されました。

    例: iText 5 では、テーブルとそのセルを作成するために PdfPTable と PdfPCell オブジェクトがありました。すべてのセルにデフォルトのフォントとは異なるフォントでテキストを含めたい場合は、そのフォントをiText 7 では、Table と Cell オブジェクトがあり、表全体に異なるフォントを設定すると、このフォントがすべてのセルのデフォルト フォントとして継承されます。これは、アーキテクチャ デザインの観点から、特に HTML を PDF に変換することが目的の場合。

    しかし、過去にこだわるのはやめて、pdfHTML で何ができるかを見てみましょう。最初の章では、convertToPdf()/ConvertToPdf() メソッドのさまざまなバリエーションを見ていきます。コンバータの構成方法。

    返事
    0
  • キャンセル返事