JavaでPDFに背景とオーバーレイ前景を追加する方法

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

IronPDF for Java は、既存のページの後ろまたは上に追加の PDF コンテンツを配置する addBackgroundPdf および addForegroundPdf メソッドを提供します。 これらのメソッドは、実用的なオーバーレイスシナリオ全体をカバーしています:レターヘッド、カラーフィル、ウォーターマーク、承認スタンプ、改訂インジケータ。 このライブラリは内部的にHTMLをPDFにレンダリングするため、有効なCSS表現(グラデーション、画像、タイポグラフィ)はマニュアルのPDFストリーム操作なしでバックグラウンドまたはフォアグラウンドレイヤーになります。

Maven Central経由でpom.xmlに依存関係を宣言してIronPDFをプロジェクトに追加し、API呼び出しを行う前にライセンスキーを有効化してください

クイックスタート: PDF に背景と前景を追加する

```java :title=クイックスタート //:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/quickstart.java インポート com.ironsoftware.ironPdf.*; インポート com.ironsoftware.ironPdf.edit.PageSelection; インポート java.nio.file.Paths;

// ターゲットPDFを読み込む PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf"));

// HTMLからバックグラウンドをレンダリングし、すべてのページに適用する PdfDocument background = PdfDocument.renderHtmlAsPdf(""); pdf.addBackgroundPdf(background);

// フォアグラウンドオーバーレイをレンダリングし、すべてのページに適用する PdfDocument foreground = PdfDocument.renderHtmlAsPdf(""); pdf.addForegroundPdf(foreground);

pdf.saveAs(Paths.get("output.pdf"));


<div class="hsg-featured-snippet">
<h3>最小限のワークフロー(5ステップ)</h3>
  <ol>
    <li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">Maven経由でIronPDF Javaライブラリをインストール</a></li>
    <li><code>PdfDocument.fromFile()</code>を使用してターゲットPDFを読み込みます</li>
    <li>バックグラウンドまたはフォアグラウンドPDFをレンダリングまたはインポート</li>
    <li><code>addBackgroundPdf</code>を呼び出して既存のページの背後にコンテンツをレイヤリングします</li>
    <li><code>addForegroundPdf</code>を呼び出して既存のページの上にコンテンツをオーバーレイします</li>
  </ol>
</div>

## PDFにバックグラウンドを追加するにはどうすればよいですか?

既存のPDFに背景を追加するには、`PdfDocument`を背景ソースとして渡します。 このメソッドは、ターゲットドキュメントのすべてのページの下にバックグラウンドを合成します。 [ライセンスキーでIronPDFを設定](https://ironpdf.com/java/get-started/license-keys/)しライブラリをアクティブ化するようにしてください。

```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
インポート java.nio.file.Paths;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a background from an HTML color definition
PdfDocument background = PdfDocument.renderHtmlAsPdf("<body style='background-color: cyan;'></body>");

// Apply the background to all pages
pdf.addBackgroundPdf(background);

pdf.saveAs(Paths.get("addBackground.pdf"));

renderHtmlAsPdf 呼び出しは、有効な HTML および CSS を PDF ページに変換し、IronPDF が既存のコンテンツの背後に合成します。 HTMLからPDFへのチュートリアルでカスタムCSSスタイリングを使用して、グラデーションフィルや繰り返しパターン、画像ベースのバックグラウンドを作成できます。 このHTMLレンダリングエンジンは最新のCSSプロパティを処理しますので、ブラウザで動作するデザインはバックグラウンドレイヤに直接翻訳されます。

<body style='margin:0;</body style='margin:0; padding:0;'>`を使用して、HTMLバックグラウンドテンプレートでデフォルトのブラウザのマージンを排除し、色や画像がページ全体を埋めるようにします。

バックグラウンド出力PDFはどのように見えますか?

なぜHTMLを使用してPDFのバックグラウンドを作成するのですか?

バックグラウンドを追加すると、既存のコンテンツの背後に画像や文書ページがレイヤ化され、レターヘッド、カラーフィル、ウォーターマーク、および装飾デザイン要素が可能になります。 フォアグラウンドをオーバーレイすると、コンテンツが上に配置され、注釈、スタンプ、および承認インジケータに役立ちます。

HTMLベースのアプローチは、画像インポートより具体的な利点を提供します。

  • 正確なCSS制御:CSSカラ、グラデーション、画像、またはレイアウトを使用してバックグラウンドデザインを定義できます。
  • ページサイズ適応:HTMLからレンダリングされたバックグラウンドは、ターゲットPDFページの寸法に自動的にスケールします。
  • 動的生成:データ、ユーザープリファレンス、またはテンプレートロジックからプログラム的にバックグラウンドを構築できます。
  • 軽量な出力:CSSで定義されたバックグラウンドは、同等のビジュアルクオリティでラスター画像よりも小さいです。

会社のレターヘッドを使用してフォームを作成するか、法的および財務書類にカスタムウォーターマークを追加するためにこの機能が適しています。

特定のページにバックグラウンドを追加するにはどうすればよいですか?

addBackgroundPdf メソッドは、指定したページに操作を限定するオプションの PageSelection 引数を受け付けます。 特定のページ群を対象とする場合は、PageSelection.pageRange(int start, int end)を使用してください。 PageSelection の完全なドキュメントは、IronPDF for Java API リファレンスでご覧いただけます。

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background-specific-page.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.nio.file.Paths;

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load a background from an existing PDF file
PdfDocument background = PdfDocument.fromFile(Paths.get("background.pdf"));

// Apply only the first page of the background PDF to the first page of the target
pdf.addBackgroundPdf(background, 0, PageSelection.firstPage());

pdf.saveAs(Paths.get("addBackgroundToSpecificPage.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background-specific-page.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.nio.file.Paths;

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load a background from an existing PDF file
PdfDocument background = PdfDocument.fromFile(Paths.get("background.pdf"));

// Apply only the first page of the background PDF to the first page of the target
pdf.addBackgroundPdf(background, 0, PageSelection.firstPage());

pdf.saveAs(Paths.get("addBackgroundToSpecificPage.pdf"));
JAVA

2番目の引数 (0) は backgroundPdfPageIndex であり、これは背景のPDFのどのページをソースとして使用するかを指定する0から始まるインデックスです。 バックグラウンドテンプレートに複数のページデザインが含まれている場合、このパラメータを使用してターゲットドキュメントのさまざまなセクションに異なるデザインを適用できます。 PDF分割およびマージの例と選択的なバックグラウンドを組み合わせて、マルチステージの文書組み立てワークフローを構築します。

特定のページにバックグラウンドを適用するのはいつですか?

選択的バックグラウンド適用は、一般的なドキュメントシナリオの範囲をカバーします。

  • カバーページ:最初のページに隙間なくデザインを入れ、本文ページをシンプルにします。
  • チャプターの区切り:各章の最初のページにセクションバックグラウンドを適用します。
  • 法的認証:正式な認定が必要なページにのみ公式なレターヘッドを追加します。
  • 機密セクション:特定のページに色を付けたりマーキングしたりして制限されたコンテンツを示します。
  • 印刷対応レイアウト:物理印刷を想定したページに隙間なく安全なバックグラウンドを適用します。

高解像度のバックグラウンドイメージを適用した後、出力PDFを圧縮して、配布またはアーカイブ用のファイルサイズを管理可能にします。


どのようにしてPDFにフォアグラウンドオーバーレイを追加しますか?

addForegroundPdf メソッドは、既存のページコンテンツの上に PDF レイヤーを合成します。 レンダリングされたフォアグラウンドは、各ターゲットページのすべての既存のテキスト、画像、およびグラフィックの上に表示されます。 このメソッドは、基礎の内容に関係なく表示され続ける必要があるウォーターマーク、承認スタンプ、および改訂インジケータの標準的なアプローチです。 動作するコードサンプルについては、背景とフォールグラウンド for Java例をご覧ください。

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
インポート java.nio.file.Paths;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a diagonal text stamp as the foreground layer
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to all pages
pdf.addForegroundPdf(foreground);

pdf.saveAs(Paths.get("overlayForeground.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
インポート java.nio.file.Paths;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a diagonal text stamp as the foreground layer
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to all pages
pdf.addForegroundPdf(foreground);

pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

opacity CSSプロパティは透明度を制御するため、前景色で描画されたスタンプが下にあるコンテンツを完全に隠してしまうことはありません。 transform: rotate() プロパティは斜め方向の配置を適用します。これは、ドラフトや機密の透かしにおける標準的な設定です。 このライブラリはすべての合成を内部的に処理します; 手動でのPDFストリーム操作は必要ありません。

ご注意フォアグラウンドのレンダリングには、renderHtmlAsPdfと同じHTML-to-PDFエンジンが使用されています。 最新のブラウザで動作するCSS(@font-face、flexbox、CSS変数を含む)であれば、フォアグラウンドレイヤーで同一の出力が得られます。)}]

フォアグラウンド出力はどのように見えますか?

なぜ背景ではなく前景オーバーレイを使用するのですか

フォアグラウンドオーバーレイは背景とは異なる役割を果たし、追加されたコンテンツが既存のページ素材の上に表示される必要がある場合に適切な選択肢です。

  • ドラフトと機密スタンプ:既存のコンテンツを削除せずにページの全体に目立つが透明なテキストを配置します。
  • 承認およびレビューの注釈:完成したドキュメントにサインオフインジケータやレビューメモをオーバーレイします。
  • セキュリティ識別子:すべてのページコンテンツの上に配置される追跡コードまたは固有のドキュメント識別子を追加します。
  • 有効期限インジケータ:可視の通知で時限性のある文書をマークし、データテーブルやチャートの上に配置します。
  • 認証マーク:既存のページ要素で覆い隠せない方法で完成したコンテンツにロゴやシールを適用します。

フォアグラウンドオーバーレイは、完了したフォームデータの上にステータスインジケータや承認スタンプを配置する必要がある場合にJavaでのPDFフォーム入力にうまく機能します。

特定のページにフォアグラウンドを追加するにはどうすればよいですか?

addForegroundPdf メソッドは、addBackgroundPdf と同様に PageSelection 引数を受け取ります。 PageSelection.pageRange(int start, int end) を使用すると、フォアグラウンドを連続した範囲に制限できます。また、List<Integer> を指定すると、連続していないページを対象にできます。

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground-page-range.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.nio.file.Paths;

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render the foreground overlay
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to pages 2 through 8 (zero-based index: 1 to 7)
pdf.addForegroundPdf(foreground, PageSelection.pageRange(2, 8));

pdf.saveAs(Paths.get("overlayForeground.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground-page-range.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.nio.file.Paths;

// ターゲットPDFを読み込む
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render the foreground overlay
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to pages 2 through 8 (zero-based index: 1 to 7)
pdf.addForegroundPdf(foreground, PageSelection.pageRange(2, 8));

pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

重要pageRange インデックスは、呼び出すオーバーロードによって、1 から始まる場合もあれば 0 から始まる場合もあります。 IronPDF Java APIリファレンスで、特定のオーバーロードのシグネチャを確認し、バージョンでのインデックス方法を確認してください。)}]

いつ前面のページ範囲を使用するべきですか?

ページ固有の前面適用は、いくつかの生産シナリオで有用です:

  • 文書のセクション:"ドラフト"オーバーレイを付録や補足ページのみにスタンプします。
  • バージョントラッキング:変更されたページに改訂スタンプをつけ、未変更のページはそのままにします。
  • 選択的機密性:機密情報や医療データを含むページのみに"制限"オーバーレイを適用します。
  • 多言語文書:二か国語の文書の関連ページに言語固有の通知を配置します。
  • 契約管理:期限切れの契約ページに"VOID"オーバーレイを追加し、全文書を変更しません。

一般的なページ選択パターンは何ですか?

以下のパターンは、ほとんどの選択的オーバーレイシナリオをカバーしています:

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/page-selection-patterns.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
import java.util.ArrayList;
import java.util.List;
インポート java.nio.file.Paths;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='opacity: 0.4;'>DRAFT</h1>");
PdfDocument background1 = PdfDocument.fromFile(Paths.get("cover-background.pdf"));
PdfDocument background2 = PdfDocument.fromFile(Paths.get("end-background.pdf"));

// Apply foreground to all even-numbered pages (zero-based)
List<Integer> evenPages = new ArrayList<>();
for (int i = 1; i < pdf.getPageCount(); i += 2) {
    evenPages.add(i);
}
pdf.addForegroundPdf(foreground, PageSelection.pageRange(evenPages));

// Apply different backgrounds to the first and last pages
pdf.addBackgroundPdf(background1, 0, PageSelection.firstPage());
pdf.addBackgroundPdf(background2, 0, PageSelection.lastPage());

// Apply foreground to all pages except the first and last
if (pdf.getPageCount() > 2) {
    pdf.addForegroundPdf(foreground, PageSelection.pageRange(1, pdf.getPageCount() - 2));
}

pdf.saveAs(Paths.get("selective-overlay.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/page-selection-patterns.java
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
import java.util.ArrayList;
import java.util.List;
インポート java.nio.file.Paths;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='opacity: 0.4;'>DRAFT</h1>");
PdfDocument background1 = PdfDocument.fromFile(Paths.get("cover-background.pdf"));
PdfDocument background2 = PdfDocument.fromFile(Paths.get("end-background.pdf"));

// Apply foreground to all even-numbered pages (zero-based)
List<Integer> evenPages = new ArrayList<>();
for (int i = 1; i < pdf.getPageCount(); i += 2) {
    evenPages.add(i);
}
pdf.addForegroundPdf(foreground, PageSelection.pageRange(evenPages));

// Apply different backgrounds to the first and last pages
pdf.addBackgroundPdf(background1, 0, PageSelection.firstPage());
pdf.addBackgroundPdf(background2, 0, PageSelection.lastPage());

// Apply foreground to all pages except the first and last
if (pdf.getPageCount() > 2) {
    pdf.addForegroundPdf(foreground, PageSelection.pageRange(1, pdf.getPageCount() - 2));
}

pdf.saveAs(Paths.get("selective-overlay.pdf"));
JAVA

ヒント同じ PdfDocument に対して addBackgroundPdfaddForegroundPdf の呼び出しを連鎖させて、階層化されたテンプレートを構築します。 たとえば、背景としてブランドカラーの塗りつぶしを適用し、その後に機密性スタンプを前景として一つのパイプラインで追加します。


PageSelection クラスはどのようなメソッドを提供していますか?

PageSelection クラスは、どのページに背景レイヤーまたは前景レイヤーを適用するかを制御します。 すべての組み込みファクトリメソッドは、addForegroundPdfオブジェクトを返します。

addBackgroundPdfとaddForegroundPdfで特定のページをターゲットにするPageSelectionファクトリメソッド。
方法翻訳内容
firstPage()PDFの最初のページをターゲットにします。
lastPage()PDFの最後のページをターゲットにします。
singlePage(int index)0ベースのインデックスで1ページをターゲットにします。
pageRange(int start, int end)連続したページ範囲(含む)をターゲットにします。
pageRange(List pageList)非連続のページリストをターゲットにします。
allPages()すべてのページをターゲットにします(選択が渡されない場合のデフォルト)。

適切な PageSelection メソッドをどのように選択しますか?

メソッドの選択は文書構造とオーバーレイの範囲に依存します。

  • firstPage(): 表紙、タイトルページ、および導入部のデザイン要素。
  • lastPage(): 署名ブロック、文書末尾の注意事項、および締めくくりの要約。
  • singlePage(): 特別な処理が必要な証明書、フォーム、または個別のページ。
  • pageRange(start, end): 章、付録、または連続したドキュメントのセクション。
  • pageRange(List): 奇数ページすべてや手動で指定した範囲など、連続しない範囲の選択。

完全なパラメータの文書とメソッドオーバーロードのシグネチャについては、IronPDF Java APIリファレンスを参照してください。

PDFへの背景と前景の追加の次のステップは何ですか?

addBackgroundPdf および addForegroundPdf メソッドは、単純な色塗りや透かしから、複数のテンプレートを用いたドキュメント作成ワークフローに至るまで、PDF オーバーレイのあらゆるシナリオを網羅しています。 これらを PageSelection と組み合わせてセクションごとに異なるデザインを適用したり、他の PdfDocument メソッドと連鎖させて、本番環境向けのドキュメントパイプラインを構築したりできます。 テキストや画像スタンプなどの追加のオーバーレイ技術については、テキストと画像のスタンプガイドまたはJava用注釈例を探索してください。

プロジェクトでこれらの機能を使用するには、IronPDF for Javaの無料トライアルを開始するか、商業展開のライセンスオプションを表示してください。 IronPDFはMaven Central経由で入手可能で、Java 8以降をWindows、Linux、macOSでサポートします。

IronPDFの他の機能をご覧になりたいですか? Java用の完全なHTMLからPDFへのチュートリアルを参照して、レンダリング、操作、エクスポートオプションの全体のウォークスルーを行ってください。

よくある質問

Javaで既存のPDFに背景を追加するには?

PdfDocument.fromFile()でターゲットPDFを読み込み、あなたのHTML/CSSを使用してPdfDocument.renderHtmlAsPdf()で背景PDFを作成し、pdf.addBackgroundPdf(background)を呼び出してすべてのページの背後にそれを合成します。ライブラリを最初にLicense.setLicenseKey()でアクティブします。

addBackgroundPdfとaddForegroundPdfの違いは何ですか?

addBackgroundPdfは、既存のページコンテンツの背後にソースPDFレイヤーを配置し、レターヘッド、カラーフィル、デザインテンプレートに適しています。addForegroundPdfは、既存のコンテンツの上にレイヤーを配置し、透かし、草稿スタンプ、承認インジケータ、および機密性のある通知に適しています。

特定のページにのみ背景または前景を適用できますか?

はい。addBackgroundPdfaddForegroundPdfの両方が、オプションのPageSelection引数を受け入れます。PageSelection.firstPage(), PageSelection.lastPage(), PageSelection.singlePage(int index), PageSelection.pageRange(int start, int end)を使用して、ページのサブセットをターゲットにします。

HTMLとCSSを使用してPDFの背景を作成するにはどうすればよいですか?

PdfDocument.renderHtmlAsPdf()を呼び出し、HTML文字列を渡します。IronPDFはグラデーション、背景画像、カスタムフォント、不透明度といった最新のCSSをサポートしています。レンダリングされたページは、ターゲットドキュメントのサイズに自動的にスケールされます。

backgroundPdfPageIndexパラメーターは何を制御しますか?

addBackgroundPdfへの2番目の整数引数は、ソースとして使用する背景PDF内のゼロベースのページインデックスです。複数のページデザインを持つ背景テンプレートがある場合、異なるインデックス値を渡してターゲットドキュメントの異なるセクションに異なるデザインを適用します。

Javaで背景と前景を追加するにはライセンスが必要ですか?

はい。API呼び出しを行う前にLicense.setLicenseKey()を使用して有効なライセンスキーを設定してください。評価のための無料トライアルライセンスはironpdf.comで入手可能です。ライブラリは本番使用のために適切なライセンスが必要です。

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

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

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

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

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

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

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