ホームページ >Java >&#&チュートリアル >iText 7 と pdfHTML は、CSS の配置に関する HTML から PDF への変換の問題をどのように解決できますか?

iText 7 と pdfHTML は、CSS の配置に関する HTML から PDF への変換の問題をどのように解決できますか?

DDD
DDDオリジナル
2024-12-16 07:03:13568ブラウズ

How Can iText 7 and pdfHTML Solve HTML to PDF Conversion Problems with CSS Positioning?

iText を使用した HTML から PDF への変換

問題: CSS の位​​置が考慮されない

多くの開発者は、iText を使用して HTML を PDF に変換する際、特にCSS を使用した要素の配置。

HTMLWorker の制限

iText の非推奨コンポーネントである HTMLWorker には、重大な欠点があります:

  • CSS サポート: 実際の CSS をサポートしておらず、明示的なスタイル定義が必要です。 code.
  • 非推奨: 多くのクラスとメソッドが使用されています

XMLWorker の課題

汎用 XML 解析フレームワークとして意図された XMLWorker も、同様の問題に直面していました。

  • Missing image: ImageProvider がないと画像が欠落していました。それでも、float などの CSS 属性は無視されました。
  • 部分的な CSS サポート: 位置決め関連の CSS スタイルは完全にはサポートされていませんでした。

iText 7 による解決策および pdfHTML

これらの欠点を解決するために、iText 7 とその pdfHTML アドオンが開発されました。これらは、簡素化されたアプローチを提供します。

public static final String SRC = "src/main/resources/html/sample.html";
public static final String DEST = "target/results/sample.pdf";
public void createPdf(String src, String dest) throws IOException {
    HtmlConverter.convertToPdf(new File(src), new File(dest));
}

このコードは、float などの CSS 属性が尊重されて、目的の PDF 出力を生成します。

追加の考慮事項

  • ライセンス: iText 7 は AGPL の下でリリースされ、オープンソース プロジェクトで自由に使用できますが、クローズド ソース アプリケーションには商用ライセンスが必要です。
  • レガシー システム: 古い iText バージョンから iText 7 への移行は、コードの簡素化と将来性の点で有益です。
  • 初心者ガイド: iText 7 を初めて使用する人には、既存のコードを破棄して新たに始めることをお勧めします。変換プロセスを簡素化します。

以上がiText 7 と pdfHTML は、CSS の配置に関する HTML から PDF への変換の問題をどのように解決できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。