JavaにおけるHTMLからPDFへの変換

This article was translated from English: Does it need improvement?
Translated
View the article in English

このチュートリアルは、Java デベロッパーが IronPDF ライブラリを使用して HTML コンテンツをピクセルパーフェクトな PDF に変換する方法を説明します。 (ポータブルドキュメントフォーマット) ドキュメント。**

IronPDFは、機能が充実したPDFコンバーターおよびPDF処理ライブラリです。 IronPDFは両方のために利用可能です .NET 以下のコンテンツを日本語に翻訳してください: Java プログラミング言語。 このチュートリアルでは、HTMLコンテンツの変換に関するライブラリの使用方法を説明します。 (ファイル、マークアップ、その他) Javaアプリケーションで。 .NETアプリケーションでHTMLをPDFに変換するためのチュートリアルが利用可能です。 これ.


概要


はじめに

JavaのためのIronPDF PDFライブラリのインストール

Java用Mavenライブラリ(PDF)

でインストール マーヴェン

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2024.9.1</version>
</dependency>
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード ジャー

  JARをダウンロード

プロジェクトに手動でインストールする

以下の方法のいずれかで組み込むことができます IronPDF Javaプロジェクトでのライブラリ:

  1. Mavenで構成されたJavaプロジェクトにIronPDFを依存関係として追加

  2. IronPDFのJARファイルをダウンロードして、プロジェクトのクラスパスに手動で追加してください。

    次のセクションでは、両方のインストール方法について簡単に説明します。

オプション1: Maven依存関係としてIronPDFをインストール

JavaプロジェクトにMavenを使用してIronPDFをインストールするには、Javaプロジェクトのpom.xmlファイルの依存関係セクションに次のアーティファクトを追加します。

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2024.9.1</version>
</dependency>

最初のアーティファクトは、 最新バージョン IronPDFライブラリの。 第二のアーティファクトは、 SL4J 実装 この依存関係は、実行中にIronPDFのレンダリングエンジンがログメッセージを生成できるようにするために必要です。 ソフトウェアエンジニアは、この依存関係を他のロギングプロバイダーに置き換えることができます。 (例えば ログバック そして ログ4J); または、ログ記録が不要または望まない場合は完全に省略することができます。

Javaプロジェクトのルートディレクトリでターミナル内に mvn install コマンドを実行して、前述のライブラリをダウンロードしてください。

オプション2: IronPDFのJARを手動でインストールする

Mavenやその他の依存関係管理システムを使用したくない開発者は、 IronPDFライブラリのJARファイルをダウンロードする (およびオプションの SL4J 実装) プロジェクトのクラスパスに手動で追加します。

IronPDFのJARファイルを直接ダウンロードする これ (Mavenリポジトリから).


ガイドとコード例の使い方

HTMLをPDFに変換

このセクションでは、IronPDF のフラッグシップである HTML から PDF へのレンダリング機能を紹介します。

PdfDocument クラスは、IronPDF の PDF ドキュメントのレンダリングおよび操作機能のすべてに対するエントリーポイントです。 このクラスには、以下の3つのユースケースをサポートするためのHTMLをPDFドキュメントに変換する強力なメソッドセットが含まれています:HTML文字列/マークアップからの変換、HTMLファイルからの変換、URLからの変換。 このセクションでは、各ユースケースについて簡単に説明し、詳細情報を収集するための追加コンテンツへのリンクを提供します。

2.1 IronPDFパッケージをインポートする

IronPDF のすべての変換および処理コンポーネントは、com.ironsoftware.ironpdf パッケージに含まれています。

Javaソースファイルの先頭に以下のインポート文を含めてください (IronPDFの使用場所) これらのコンポーネントをアプリケーションのソースコードで使用可能にするために。

// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
JAVA

2.2. ライセンスキーの設定 (任意)

IronPDF for Javaは無料で使用できます。 しかし、無料ユーザーの場合、PDFドキュメントにタイル状の背景透かしが入ります。 (以下の画像に示されているように).

ウォーターマークなしでPDFドキュメントを変換および操作するためのライセンスキーを ironpdf.com/java/licensing/ から取得してください。

IronPDF を使用してウォーターマークなしで PDF を生成するには、有効なライセンスキーを使用する必要があります。 以下のコード行は、ライセンスキーでライブラリを設定します。

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

ライセンスキーは、PDFファイルを生成する前またはファイル内容をカスタマイズする前に設定する必要があります。 すべての他のコード行の前に setLicenseKey メソッドを呼び出すことをお勧めします。

ライセンスキーを購入 弊社のライセンスページから、またはお問い合わせください。 無料の試用ライセンスキーを取得する.

ログファイルの場所を設定 (オプション)

デフォルトでは (SLF4Jプロバイダーがインストールされていると仮定して), IronPDFは、Javaアプリケーションのルートディレクトリにある IronPdfEngine.log という名前のテキストファイルにログメッセージを生成します。

ログファイルの名前と場所を指定するには、Settings.setLogPath メソッドを使用します。

// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
JAVA

ご注意: PDF変換および操作メソッドを使用する前にSettings.setLogPathを呼び出す必要があります。

HTML文字列からPDFを作成する

PdfDocument.renderHtmlAsPdfは、HTMLコンテンツの文字列をPDFドキュメントに変換します。

以下のコードサンプルでは、1つのヘッドライン要素を使用して新しいファイルを生成します。

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA

HTMLマークアップをPDFファイルに変換するために使用する PdfDocument.renderHtmlAsPdfこのメソッドは、すべての有効なW3C準拠のHTMLおよびCSSマークアップを使用してPDFドキュメントを生成できます。

renderHtmlAsPdfは、最新の規格準拠のブラウザーと同じ方法で、すべてのHTML、CSS、およびJavaScriptコンテンツを処理します。 これは、ソフトウェアエンジニアがウェブブラウザに表示されるとおりに見えるPDF文書を作成するのに役立ちます。

renderHtmlAsPdf メソッドは、コンピュータまたはネットワークドライブ上のフォルダーにある画像、スタイルシート、およびスクリプトをソースとすることができます。次の例では、assets フォルダーにあるCSSファイルと画像を参照するHTMLからPDFドキュメントを生成します:

String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href='https://ironpdf.com/java/'><img src='assets/logo.png' /></a></body></html>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
pdf.saveAs("output.pdf");
JAVA

上記のコードの結果は、以下の画像に示されています。

PdfDocument.HTMLをPDFとしてレンダリング すべての種類のリッチメディア要素をレンダリングできます。それがChromeで表示されるならば HTMLをPDFとしてレンダリング レンダーします!

2番目 (オプションの) renderHtmlAsPdf の引数では、開発者がウェブアセットを参照するベースパスを指定できます。 このパスはローカルファイルシステム上のディレクトリへのパスでも、URL パスでもかまいません。

renderHtmlAsPdfメソッドについて詳しく知るには このコード例、またはそれについて以下で読んでください APIリファレンス ページ。

2.5. URLからPDFを作成

開発者は、IronPDF の PdfDocument.renderUrlAsPdf メソッドを使用して、オンラインのウェブページを PDF ドキュメントに変換することができます。

次の例では、Wikipediaの記事をPDFコンテンツに変換します。

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
JAVA

生成されたPDFファイル形式は以下の通りです。

IronPDF Javaライブラリは、オンラインでホストされているウェブページに含まれるHTMLコンテンツを変換できます。 使用する PdfDocument.renderUrlAsPdf それを実行する方法。

以下から、WebページをPDFコンテンツに変換する方法について詳しく学びましょう。 コード例.

HTMLファイルからPDFを作成する

IronPDFは、ローカルファイルシステムに保存されているHTMLドキュメントを、そのままPDF形式に変換することもできます。

次のコード例では この請求書 IronPDFがHTMLファイルをどれほど上手く変換できるかの実際のデモンストレーションとして。

請求書のHTMLマークアップは、便宜のためにここに再現されています:


<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>

<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
HTML

HTMLファイルがCSSファイルおよびJavaScriptファイルとともにinvoicesというフォルダーに保存されているとします。IronPDFを使用してHTMLファイルを次のように変換できます:

PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

HTML 文字列から PDF への変換例と同様に、IronPDF は HTML ドキュメント内の相対 URL をファイルシステム上の正しいパスに正確に解決します。 その結果、この例で生成されるPDFファイルは、参照されるスタイルシートやスクリプトが通常ウェブページに与える視覚的な影響を完璧に捉えることができます。

3. さらなる読書

IronPDFのHTMLからPDFへのレンダリング機能は、まだほんの一部しか触れていません。

以下のリンクに掲載されたキュレーションされたコードサンプルを使用して、Java開発のためのHTMLからPDFへの変換ツールの使用方法の理解を深めましょう。 コード例 セクション

  1. 読む このコード例 変換プロセス中にPDFドキュメントの外観をカスタマイズする方法を学ぶために。

  2. 以下を使用してPDFファイルを生成する カスタムヘッダーとフッター, マージンサイズ, ページ寸法, ウォーターマークなど多くの機能があります。

  3. PDFコンテンツの抽出 (テキスト 以下のコンテンツを日本語に翻訳してください: 画像) 文書から ファイルサイズを最適化する、および プログラムによってPDFを印刷する

    以下を日本語に翻訳してください:

ご参考ください IronPDF Java API リファレンス PdfDocumentクラスのページでは、 HTMLからPDFに変換する際にさらに高度な制御が可能です。

HTMLからPDFへ変換のチュートリアル動画を視聴する


チュートリアル クイック アクセス

このチュートリアルをJavaソースコードとしてダウンロード

このチュートリアル用の完全なHTMLからPDFへのJavaソースコードは、圧縮されたIntelliJプロジェクトとして無料でダウンロードできます。

ダウンロード

このチュートリアルをGitHubで探索する

このプロジェクトのソースコードはGitHubで公開されています。

簡単に数分で開始するためには、このコードを使用してください。プロジェクトはIntelliJ IDEAプロジェクトとして保存されていますが、他の一般的なJava IDEにもインポートすることができます。

Java HTMLからPDFへ

APIリファレンスを表示

IronPDFのAPIリファレンスを探索して、IronPDFのすべての機能、名前空間、クラス、メソッド、フィールド、およびenumの詳細を確認してください。

APIリファレンスを表示