JavaにおけるHTMLからPDFへの変換
このチュートリアルでは、Java 開発者が IronPDF ライブラリを使用して HTML コンテンツをピクセルパーフェクトな PDF(ポータブルドキュメントフォーマット)ドキュメントに変換する方法を解説します。
*IronPDFは、機能が充実したPDFコンバーターおよびPDF処理ライブラリです。 IronPDFは、.NETおよびJavaプログラミング言語の両方で利用可能です。 このチュートリアルは、JavaアプリケーションでHTMLコンテンツ(ファイル、マークアップなど)を変換するためのライブラリの使用について説明します。 .NET アプリケーションで HTML を PDF に変換するためのチュートリアルは、HTML to PDF .NET チュートリアルでご覧いただけます。
概要
JavaでHTMLをPDFに変換する方法

- HTMLをPDFに変換するJavaライブラリをインストール
- HTML文字列をPDFドキュメントに変換するには、
renderHtmlAsPdf
メソッドを使用します - JavaでウェブサイトURLからPDFファイルを生成する
renderHtmlFileAsPdf
メソッドを使用して、HTMLファイルをPDFファイルに変換します。- 生成されたPDFを新しいファイルとして保存
はじめに
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
JavaのためのIronPDF PDFライブラリのインストール
JavaプロジェクトにIronPDFライブラリを組み込む方法は2つあります:
-
Mavenで構成されたJavaプロジェクトにIronPDFを依存関係として追加
-
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.*;
2.2. ライセンスキーの設定 (任意)
IronPDF for Javaは無料で使用できます。 しかし、無料ユーザーの場合、PDF文書にはタイル状の背景の透かしが入ります(以下の画像に示されているように)。
IronPDF を使用してウォーターマークなしで PDF を生成するには、有効なライセンスキーを使用する必要があります。 以下のコード行は、ライセンスキーでライブラリを設定します。
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
ライセンスキーは、PDFファイルを生成する前またはファイル内容をカスタマイズする前に設定する必要があります。 全てのコード行の前にsetLicenseKey
メソッドを呼び出すことをお勧めします。
IronPDFライセンスページからライセンスキーを購入するか、無料のトライアルライセンスキーを取得するためにお問い合わせください。
ログファイルの場所を設定 (オプション)
デフォルトでは(また、SLF4Jプロバイダーがインストールされている場合)、IronPDF は Java アプリケーションのルートディレクトリにあるIronPdfEngine.logというテキストファイルにログメッセージを生成します。
ログファイルの名前と場所を指定するには、Settings.setLogPath
メソッドを使用します。
// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
ご注意: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");
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");
上記のコードの結果は、以下の画像に示されています。
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");
生成されたPDFファイル形式は以下の通りです。
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ファイルがCSSファイルおよびJavaScriptファイルとともにinvoicesというフォルダーに保存されているとします。IronPDFを使用してHTMLファイルを次のように変換できます:
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
HTML 文字列から PDF への変換例と同様に、IronPDF は HTML ドキュメント内の相対 URL をファイルシステム上の正しいパスに正確に解決します。 その結果、この例で生成されるPDFファイルは、参照されるスタイルシートやスクリプトが通常ウェブページに与える視覚的な影響を完璧に捉えることができます。
3. さらなる読書
IronPDFのHTMLからPDFへのレンダリング機能は、まだほんの一部しか触れていません。
選定されたコードサンプルを使用して、Java開発でHTMLからPDFへのコンバーターをどのように利用するかについての理解を深めるために、私たちのコード例セクションをご覧ください。
-
PDF生成設定のこのコード例を読み、変換プロセス中にPDFドキュメントの外観をカスタマイズする方法を学びましょう。
-
カスタムヘッダーとフッター、マージンサイズ、ページの寸法、ウォーターマークなどを使用してPDFファイルを生成します。
-
ドキュメントからPDFコンテンツを抽出(PDFからのテキスト抽出およびPDFからの画像抽出)、PDF圧縮でファイルサイズを最適化し、IronPrintの機能を使用してプログラムで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リファレンスを表示