JavaでHTMLからPDFへ

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

IronPDF for Java は開発者に HTML コンテンツから PDF 出力への直接の道を提供し、別のレイアウト API を学ぶ必要がありません。 ライブラリは現代のブラウザと同じ方法で HTML、CSS、JavaScript をレンダリングするため、PDF 出力は画面で見るものと一致します。 このチュートリアルはインストール、3 つの主要な HTML-to-PDF 変換方法、およびヘッダー、フッター、ページサイズ、カスタムマージンを含むフォーマットオプションをカバーします。

このチュートリアルは IronPDF for Java を使用します。 並行する .NET バージョンのガイドは HTML to PDF 変換チュートリアル for .NET で利用可能です。 IronPDF は Python および Node.js でも利用可能です。

クイックスタート:HTML を PDF ファイルに変換

HTML 文字列から PDF への最短経路は、Java コードの 3 行です:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
JAVA

今日あなたのプロジェクトでIronPDFを無料トライアルで使用開始。

最初のステップ:
green arrow pointer

目次

IronPDF を Maven プロジェクトに追加する方法

MavenプロジェクトにIronPDFを追加するには、プロジェクトの pom.xml 依存関係ブロックに2つのエントリを追加する必要があります。 最初のエントリはIronPDFライブラリを引き込みます。 2 番目は SLF4J ロギングプロバイダーを追加し、IronPDF が実行中にエンジンメッセージを書くことができるようにします。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
XML

ironpdf アーティファクトは、最新の IronPDF for Java のリリースおよび変更履歴を参照しています。 slf4j-simple 依存関係は、基本的なロギングバックエンドを提供します。 You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.

両方のエントリを追加した後、プロジェクトのルートディレクトリから mvn install を実行して、アーティファクトをダウンロードしてください。 Maven resolves the dependency against Maven Central.

ヒントpom.xmlに追加する前に、Maven Centralのcom.ironsoftware:ironpdfページで最新バージョン番号を確認してください。

IronPDF JAR を手動でインストールする方法

Maven や他の依存関係マネージャーを使用していないプロジェクトは、JAR を直接ダウンロードしてクラスパスに含めることで IronPDF を追加できます。 IronPDF for Java ダウンロードページ に移動し、ファット JAR ファイルをダウンロードします。

ファット JAR はすべての依存関係をまとめているため、メインアーティファクト以外に追加のクラスパスエントリは必要ありません。 Optionally download an SLF4J implementation JAR to enable logging.

IDEのライブラリ管理パネルを使用して両方のJARファイルをプロジェクトのクラスパスに追加するか、ターミナルからコンパイルおよび実行する際に-classpathエントリを指定してください。

IronPDF を Java ソースファイルにインポートする方法

com.ironsoftware.ironpdf パッケージには、すべての変換および処理コンポーネントが含まれています。 IronPDF メソッドを呼び出すすべての Java ファイルの上部に次のインポート文を配置します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
JAVA

特定のクラス名を指定したターゲットインポートも有効です:import com.ironsoftware.ironpdf.PdfDocument;。 探索中のワイルドカードインポートは便利です。

IronPDF for Java でライセンスキーを設定する方法

IronPDF for Java はライセンスキーがなくても無料で使用可能ですが、生成または変更されたすべての PDF 文書にタイル状の透かしを適用します。 透かしを削除するには、変換または操作メソッドを呼び出す前に有効なライセンスキーを提供してください。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

setLicenseKey 呼び出しは、アプリケーションの起動時、PdfDocument メソッドが呼び出される前に配置してください。 ライセンスキーを購入するか、無料トライアルを開始することで透かしなしの PDF を生成してください。

IronPDF licensing page showing how to obtain a license key to remove watermarks from generated PDFs

有効なライセンスキーは生成された PDF からタイル状の透かしを削除します。IronPDF ライセンスページから取得するか、無料トライアルをリクエストしてください。

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

デフォルトでは、IronPDFはエンジンメッセージを、アプリケーションのルートディレクトリにあるIronPdfEngine.logという名前のファイルに書き込みます。 ログファイルのパスを変更するには、PDF 操作を実行する前に Settings.setLogPath を呼び出してください。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
JAVA

ご注意setLogPath の呼び出しは、すべての PdfDocument の呼び出しの前に配置する必要があります。 変換を開始した後に呼び出しても、そのセッションには影響しません。}]

Java で HTML 文字列を PDF に変換する方法

PdfDocument.renderHtmlAsPdf(String html) は、有効な HTML マークアップを PDF 文書に変換します。 このメソッドは生のHTML文字列を受け取り、保存、マージ、またはさらに変更可能な PdfDocument オブジェクトを返します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
JAVA
PDF output from IronPDF renderHtmlAsPdf showing an H1 heading rendered faithfully from an HTML string

IronPDFはHTMLマークアップを直接ピクセル精度でPDFにレンダリングします。ここで示されている出力は上記のコード例によって生成されました。

レンダリングエンジンはChromiumに基づいているため、Chromeで動作するすべてのHTML、CSS、またはJavaScriptはPDFに正しくレンダリングされます。 これにはFlexboxレイアウト、CSS Grid、ウェブフォント、SVG、およびJavaScript駆動のチャートが含まれます。

このメソッドのオーバーロード版は、ベースパスを指定する 2 番目の引数を受け取ります:renderHtmlAsPdf(String html, String basePath)。 このベースパスは、ローカルスタイルシート、画像、およびスクリプトへの相対参照を解決するために使用されます。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
JAVA

ベースパスはローカルファイルシステム上のディレクトリまたはリモートURLを指すことができます。 IronPDFはレンダリング中にその場所から参照されたアセットを取得します。

IronPDF renderHtmlAsPdf output showing a full-page document with stylesheet applied, CSS styles preserved from the HTML source

ベースパスが提供されると、IronPDFはローカルのCSSと画像の参照を解決して、完全にスタイルされたPDFを生成します。

{t:(ローカルアセットの解決を機能させるためには、参照されたすべてのファイルがベースパスからアクセスできる必要があります。 フォワードスラッシュを使用したパスは、WindowsとLinuxの両方で動作します。)}

このメソッドについて詳しく知るには、HTML文字列をPDFに変換するコード例をご覧ください。

JavaでURLをPDFに変換する方法

PdfDocument.renderUrlAsPdf(String url) は、指定された URL のページを取得し、完全な DOM(JavaScript の実行を含む)をレンダリングしてから、出力を PDF として保存します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
JAVA
PDF generated by IronPDF from the Wikipedia PDF article page, showing multi-column layout and navigation elements preserved

IronPDFはJavaScriptによって生成された動的な内容を含むウェブページの完全にレンダリングされた状態をキャプチャします。

Chromiumレンダリングエンジンは外部スタイルシート、フォント、およびJavaScriptファイルを取得するため、結果として生成されるPDFはページの視覚的状態を正確に反映しています。 このメソッドは、ウェブダッシュボードからのレポート生成、公開ウェブコンテンツのアーカイブ、またはクライアントサイドレンダリングに依存するデータビジュアライゼーションの変換に適しています。

{n:(URLからPDFの変換には、IronPDFを実行しているサーバーからの外部HTTP/HTTPSアクセスが必要です。 デプロイする前に、ネットワークポリシーでこれを許可していることを確認してください。)}

カスタム要求ヘッダーや認証などの追加オプションについては、専用のURLからPDFへの変換例を参照してください。

JavaでHTMLファイルをPDFに変換する方法

PdfDocument.renderHtmlFileAsPdf(String filePath) は、ローカルファイルシステムから HTML ファイルを読み込み、それを PDF に変換します。 メソッドはHTMLファイル内のすべての相対アセット参照をファイルのディレクトリに対して自動的に解決します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
JAVA

メソッドは複数ファイルを持つHTMLプロジェクトも正しく処理します。 上記の例において、TestInvoice1.htmlが同じディレクトリ内のスタイルシートを参照している場合、IronPDFはレンダリング時にそのスタイルシートを適用します。 結果は、ブラウザーレンダリングされたソースファイルの外観に一致するPDFです。

ヒントサーバーアプリケーションから renderHtmlFileAsPdf を呼び出す際は、絶対ファイルパスを使用してください。 相対パスはJVMの作業ディレクトリに対して解決されるため、HTMLファイルの場所と異なる可能性があります。)}

このメソッドは、ディスク上にHTMLテンプレートを保持するPDF生成ワークフローに特に役立ちます:請求書ジェネレーター、レポートテンプレート、およびフォーム出力システムが一般的な使用例です。

JavaでPDFのページサイズと向きを設定する方法

ページのサイズと向きは、ChromePdfRenderOptions クラスによって制御されます。 ChromePdfRenderOptions インスタンスを作成し、プロパティを設定して、任意の renderHtmlAsPdf 呼び出しの 2 番目の引数として渡します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
JAVA

PaperSize には、A3、および A5 などの標準オプションが含まれています。 PaperOrientationPortrait(デフォルト)または Landscape を受け付けます。

標準外の寸法については、setCustomPaperSizeInMillimeters(double width, double height) または setCustomPaperSizeInInches(double width, double height) を使用してください:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
JAVA

PaperSize定数およびサイズ設定オプションの完全なリストについては、カスタムPDF用紙サイズの例を参照してください。

JavaでPDFにカスタムマージンを設定する方法

余白のサイズも ChromePdfRenderOptions を通じて設定されます。 ライブラリはトップ、ボトム、左、右マージン用に個別のセッターを公開しており、すべてミリメートル単位の値を受け取ります。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
JAVA

すべてのマージンをゼロに設定すると白い余白が完全に除去され、ラベル、証明書、またはグラフィックレイアウトのような全面印刷デザインに役立ちます。

{i:(IronPDFのマージン値はミリメートル単位です。 0 の値を設定すると、その辺の余白が無効になります。 プリンタードライバのマージンはIronPDFのマージンとは別であり、用紙の端から端まで埋め尽くす内容が印刷された際には、クリップされる可能性があります。)}

動作するコードサンプルは、カスタムマージンの例を参照してください。

JavaでPDFにヘッダーとフッターを追加する方法

IronPDFは、テキストベース(HtmlHeaderFooter)の2種類のヘッダーおよびフッターをサポートしています。 テキストヘッダーは設定が簡単です; HTMLヘッダーはフルスタイリングと画像をサポートします。

テキストヘッダーとフッターの追加

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
JAVA

{url}、および {html-title} のマージフィールドは、レンダリング時にドキュメント固有の値に置き換えられます。

HTMLヘッダーの追加

ロゴ、ブランドカラー、または複雑なレイアウトが必要なヘッダーについては、HtmlHeaderFooterを使用してください:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
JAVA

{t:(HTMLヘッダーフラグメントは独自のページコンテキストでレンダリングされます。 外部画像パスは、絶対URLもしくはIronPDFを実行しているサーバーからアクセス可能なパスでなければなりません。)}

追加のマージフィールドオプションと複数ページの振る舞いについては、ヘッダーとフッターのコード例を参照してください。

JavaでPDFに透かしを適用する方法

IronPDFは既存のPDFページにHTMLコンテンツをスタンプすることで透かしを適用します。 このアプローチは位置、透過性およびスタイリングの完全なコントロールを提供します。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
JAVA

applyStamp メソッドは標準的な HTML/CSS を受け付けます。 テキストに半透明の rgba 色を使用することで、下にあるドキュメントの内容を隠すことなく、透かしを明確に表示できます。

画像ベースの透かしや特定のページ範囲に適用される透かしについては、Java用のカスタム透かしガイドを参照してください。

JavaでPDFファイルを圧縮する方法

画像を含むPDFファイルに対しては、IronPDFは埋め込まれた画像を低解像度にリサンプリングしてファイルサイズを削減することができます。 既存の PdfDocument に対して compressImages を使用してください。

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
JAVA

品質パラメータは1から100の整数で、100は完全な画像品質を保持し、低い値は画像の忠実度を犠牲にしてファイルサイズを削減します。 60から80の値は、ほとんどのビジネス文書に対してサイズと視覚品質のバランスを取る実用的な選択です。

{w:(画像圧縮は破壊的です。元の画質データは圧縮されたPDFから回復できません。 後で元の品質が必要になる場合は元のファイルを常に保持してください。)}

画像品質のしきい値に関する詳細については、PDF圧縮例を参照してください。

次のステップ

このチュートリアルは、(文字列、URL、ファイルの)3つのHTMLからPDFへの変換方法、ページサイズ設定、マージン、ヘッダー、フッター、透かし、および圧縮をカバーしました。 これらはJavaサーバーアプリケーションの最も一般的なPDFフォーマット操作です。

JavaでのIronPDFをさらに進めるために:

無料トライアルを始めて、透かしのないPDFを生成するか、またはライセンスオプションを表示してIronPDFをプロジェクトに追加します。


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

IronPDF for Java IntelliJプロジェクトダウンロード

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

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

ダウンロード

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

このプロジェクトのソースコードはGitHubでIntelliJ IDEAプロジェクトとして提供されており、Eclipseまたは他 for Java IDEにもインポートできます。

IronPDF for JavaフォーマットPDFの例
IronPDF Javaチュートリアルのソースコード用GitHubリポジトリ
IronPDF Java APIリファレンスドキュメント

APIリファレンスを見る

com.ironsoftware.ironpdfパッケージ内のすべてのクラス、メソッド、フィールド、および列挙の詳細をカバーするIronPDF for JavaのAPIリファレンスを探索してください。

IronPDF Java APIリファレンスを表示

よくある質問

JavaでHTML文字列をPDFに変換するにはどうすればよいですか?

IronPDF for JavaライブラリからPdfDocument.renderHtmlAsPdf(String html)を使用します。HTMLマークアップを文字列引数として渡し、返されたPdfDocumentオブジェクトでsaveAsを呼び出し、ファイルをディスクに書き込みます。

MavenプロジェクトにIronPDFを追加するにはどうすればよいですか?

pom.xmlファイルのセクションにcom.ironsoftware:ironpdfアーティファクトを追加してください。また、ログを有効にするためにorg.slf4j:slf4j-simpleなどのSLF4J実装を追加してください。両方のアーティファクトをダウンロードするには、mvn installを実行します。

IronPDF for Javaで生成されたPDFのページサイズをどのように設定しますか?

ChromePdfRenderOptions オブジェクトを作成し、setPaperSize(PaperSize.A4)(または別の定数)を呼び出してください。オプションオブジェクトをrenderHtmlAsPdfへの2番目の引数として渡します。標準外の寸法の場合は、setCustomPaperSizeInMillimetersを使用してください。

JavaでPDFにヘッダーとフッターを追加するにはどうすればいいですか?

TextHeaderFooter はプレインテキストのヘッダーとフッター用に使用し、HtmlHeaderFooter は完全にスタイル付けされたHTMLコンテンツ用に使用します。オブジェクトをテキストまたはHTMLで構成し、setTextHeader または setHtmlHeader を使用して ChromePdfRenderOptions インスタンスに設定し、オプションをレンダーメソッドに渡します。

IronPDF for Java を使用してPDFに透かしを適用するにはどうすればよいですか?

既存のPdfDocumentに対してapplyStamp(String htmlFragment)を呼び出します。透かしの外観を定義したHTML文字列を渡し、CSSのposition:absolutetransform:rotate、および半透明のrgbaカラーを使用して、下のコンテンツを隠さずにテキストを重ねます。

IronPDF for Java はウェブページをPDFに変換できますか?

はい。PdfDocument.renderUrlAsPdf(String url) を使用してページのURLを呼び出します。IronPDFは、Chromiumレンダリングエンジンを使用してページを取得し、JavaScriptを含む実行を行った後にPDF出力を生成します。

生成されたPDFからIronPDFのウォーターマークを削除するにはどうすればいいですか?

PDF操作を行う前にLicense.setLicenseKey("YOUR-LICENSE-KEY")を呼び出してくさい。有効なライセンスキーがないPDFには透かしが適用されます。ライセンスや無料トライアルキーはironpdf.com/java/licensing/から取得できます。

IronPDF for JavaでPDFファイルを圧縮するにはどうすればいいですか?

PdfDocument.fromFileを使用してPDFを読み込み、1から100の値でcompressImages(int quality)を呼び出します。値が低いほど、埋め込まれた画像の解像度を下げてファイルサイズを縮小します。saveAsを呼び出して、圧縮されたファイルを書き込みます。

IronPDF for Java はカスタムページ余白をサポートしていますか?

はい。ChromePdfRenderOptionsを使用し、ミリメートル単位でsetMarginTopsetMarginBottomsetMarginLeft、およびsetMarginRightを呼び出します。このオプションをレンダーメソッドに渡してマージンを適用します。

IronPDFはど for Javaバージョンをサポートしていますか?

IronPDF for Java は Java 8 以降をサポートしています。このライブラリは com.ironsoftware:ironpdf というMavenアーティファクトとして、または ironpdf.com/java/ からスタンドアロンのfat-JARとしてダウンロードできます。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。

準備はできましたか?
バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。