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

チャクニット・ビン
チャクニット・ビン
2022年12月28日
更新済み 2024年12月10日
共有:
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プログラミング言語の両方で利用可能です。 このチュートリアルは、JavaアプリケーションでHTMLコンテンツ(ファイル、マークアップなど)を変換するためのライブラリの使用について説明します。 .NET アプリケーションで HTML を PDF に変換するためのチュートリアルは、HTML to PDF .NET チュートリアルでご覧いただけます。


概要


はじめに

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer


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

JavaプロジェクトにIronPDFライブラリを組み込む方法は2つあります:

  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>2025.3.6</version>
</dependency>

最初のアーティファクトはIronPDFライブラリの最新バージョンを参照します。 2番目のアーティファクトは、[SL4J](https://www.slf4j.org/" target="_blank" rel="nofollow noopener noreferrer)実装を参照しています。 この依存関係は、実行中にIronPDFのレンダリングエンジンがログメッセージを生成できるようにするために必要です。 ソフトウェアエンジニアは、この依存関係を他のロギングプロバイダ(例えば、[Logback](https://logback.qos.ch/" target="_blank" rel="nofollow noopener noreferrer)や[Log4J](https://logging.apache.org/log4j/2.x/" target="_blank" rel="nofollow noreferrer noopener))に置き換えることができます。 または、ログ記録が不要または望まない場合は完全に省略することができます。

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

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

他の依存関係管理システムであるMavenを使用したくない開発者は、IronPDFライブラリのJARファイルをダウンロードする必要があります。 (およびオプションの[SL4J](https://mvnrepository.com/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)実装)を手動でプロジェクトのクラスパスに追加します。

IronPDF JARファイルを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文書にはタイル状の背景の透かしが入ります(以下の画像に示されているように)。

Html To Pdf 23 related to 2.2. ライセンスキーの設定 (任意)

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

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

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

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

IronPDFライセンスページからライセンスキーを購入するか、無料のトライアルライセンスキーを取得するためにお問い合わせください。

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

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

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

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

ご注意Settings.setLogPath は、PDF の変換や操作のメソッドを使用する前に呼び出される必要があります。

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

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

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

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA
Html To Pdf 5 related to HTML文字列からPDFを作成する

PdfDocument.renderHtmlAsPdfを使用して、HTMLマークアップをPDFファイルに変換します。このメソッドは、すべての有効な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

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

Html To Pdf 24 related to HTML文字列からPDFを作成する

PdfDocument.renderHtmlAsPdfは、あらゆる種類のリッチメディア要素をレンダリングできます。Chromeで表示される場合、renderHtmlAsPdfがそれをレンダリングします!

renderHtmlAsPdfの2番目の(オプションの)引数により、開発者はWeb資産を参照するための基準となるパスを指定できます。 このパスはローカルファイルシステム上のディレクトリへのパスでも、URL パスでもかまいません。

<code>renderHtmlAsPdf</code> メソッドについて詳しくは、<a href="/java/examples/using-html-to-create-a-pdf/">HTML を使用して PDF を作成するこのコード例</a>を参照するか、<a href="/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String">PdfDocument クラスの API リファレンスページ</a>をご覧ください。

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ファイル形式は以下の通りです。

Html To Pdf 7 related to 2.5. URLからPDFを作成

IronPDF Javaライブラリは、オンラインでホストされているWebページに含まれるHTMLコンテンツを変換することができます。これを実現するためにPdfDocument.renderUrlAsPdfメソッドを使用してください。

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

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

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

次のコード例では、[この請求書を実際のデモンストレーション](https://codepen.io/tjoen/pen/wvgvLX" target="_blank" rel="nofollow noopener noreferrer)として使用し、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生成設定のこのコード例を読み、変換プロセス中にPDFドキュメントの外観をカスタマイズする方法を学びましょう。

  2. カスタムヘッダーとフッターマージンサイズページの寸法ウォーターマークなどを使用してPDFファイルを生成します。

  3. ドキュメントからPDFコンテンツを抽出(PDFからのテキスト抽出およびPDFからの画像抽出)、PDF圧縮でファイルサイズを最適化し、IronPrintの機能を使用してプログラムでPDFを印刷します。

    IronPDF Java API リファレンスページで、PdfDocument クラスを学び、HTML の PDF 変換におけるさらに高度な制御を実現しましょう。

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


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

Cps Intellij related to チュートリアル クイック アクセス

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

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

ダウンロード

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

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

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

Java HTML を PDF に変換
Github Icon related to チュートリアル クイック アクセス
Documentation related to チュートリアル クイック アクセス

APIリファレンスを表示

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

APIリファレンスを表示
チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。