PDF内のテキストを置換する方法 Copy for LLMsCopy for LLMs Copy page as Markdown for LLMs
# PDF内のテキストを置換する方法
IronPDF for Javaは、`replaceText`メソッドを通じて既存のPDFコンテンツを直接制御することを開発者に提供します。 生成されたレポートのバッチ内の誤字を修正する、テンプレート文書のバージョン番号を交換する、または顧客固有のデータで契約をパーソナライズする必要がある場合、このメソッドはページ選択、検索文字列、および置換文字列を受け入れ、残りを処理します。このガイドは、単一ページ置換、複数ページターゲティング、利用可能なすべての`PageSelection`オプション、およびテンプレート駆動ワークフローのための実用的なパターンをカバーしています。
*as-heading:2(クイックスタート:PDF内のテキストを置換)*
IronPDF依存関係を追加し、PDFを読み込みまたはレンダリングし、`replaceText`を呼び出し、結果を保存します:
```java
:title=Quickstart Replace Text
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/quickstart.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
pdf.saveAs("replaceText.pdf");
}
}
```
<div class="hsg-featured-snippet">
<h3>最小限のワークフロー(5ステップ)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">PDF内のテキストを置換するJavaライブラリをダウンロードする</a>。</li>
<li>既存のPDFをロードするか、HTMLからレンダリングします</li>
<li><code>pdf.replaceText(PageSelection, oldText, newText)</code>を呼び出して、ターゲットページで置換します</li>
<li><code>PageSelection</code>メソッドを使用して、変更されるページを制御します</li>
<li><code>pdf.saveAs("output.pdf")</code>で更新されたPDFを保存およびエクスポートします</li>
</ol>
</div>
## 単一ページのテキストを置き換えるにはどうすればよいですか?
`replaceText`メソッドは3つの引数を受け取ります: 1つ以上のページをターゲットとする`PageSelection`、探す正確なテキスト、および置換文字列。 `PageSelection.firstPage()`を渡して最初のページをターゲットにします。 そのページ上の検索文字列のすべてのインスタンスが単一の呼び出しで置き換えられます。 対象ページでテキストが見つからない場合、メソッドはランタイム例外をスローします。 以下のスクリーンショットは、その例外がコンソールでどのように見えるかを示しています。

### replaceTextが受け取るパラメータは何ですか?
メソッド署名は`replaceText(PageSelection pageSelection, String oldText, String newText)`です。 一致はデフォルトで大文字小文字を区別します: `"NET6"`は異なる文字列として扱われます。 メソッドを呼び出す前に、レンダリングされたPDFの正確なケーシングを確認してください。 まずPDFのテキストコンテンツを[抽出する](https://ironpdf.com/java/examples/extract-image-from-pdf/)ことで、正確なテキストを確認できます。IronPDF Java依存関係は[Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf)に公開されており、Java 8以上が必要です。
```java
:title=Replace Text on First Page
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-single-page.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key (required for production use)
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Render HTML content into a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Define the search and replacement strings
String oldText = ".NET6";
String newText = ".NET7";
// Replace all instances of oldText on the first page only
// PageSelection.firstPage() targets page index 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Save the modified PDF
pdf.saveAs("replaceText.pdf");
}
}
```
[[t:(ライセンスキーをアプリケーション起動時に一度だけロードし、各操作ごとに行うのではなく、繰り返しの初期化オーバーヘッドを避けます。 同じJVMセッション内で複数のドキュメントを処理するときに効果的です。)]}
)]]
`replaceText`メソッドは、IronPDFの[HTMLからPDFへの変換ワークフロー](https://ironpdf.com/java/tutorials/html-to-pdf/)と自然に統合されます。 まずHTMLテンプレートをレンダリングし、次に動的な値を注入するためにテキスト置換を適用します。 これにより、HTMLをクリーンに保ちながら、個別化された出力が生成されます。 ディスクからロードされた文書については、`PdfDocument.fromFile`に渡します。
### 出力はどのように見えますか?
<iframe loading="lazy" src="/static-assets/ironpdf-java/howto/find-replace-text/replaceText.pdf" width="100%" height="400px"></iframe>
<hr />
## 複数ページにわたってテキストを置換するにはどうすればよいですか?
最初だけでなく特定のページをターゲットにするには、ページ番号のゼロインデックスリストを`PageSelection.pageRange(List<Integer>)`に渡します。 メソッドは指定されたリスト内の各ページ上で検索テキストを置換し、他のすべてのページは手つかずのままにします。 このパターンは、既知のページ上に一貫したヘッダーまたはフッターを持つドキュメントや、特定のページのみに現れるバージョン文字列があるバッチ生成されたレポートに適しています。
### ページリストを使用したときに変更されるのはどのページですか?
以下の例では、HTMLから3ページのPDFが作成されます。 置換はページ`2`(最初のページと3ページ目)で実行されます。 ページ`1`(2ページ目)は元のテキストを変更せずに保持します。 ページインデックスは常に`0`から始まり、Javaのゼロベースの配列規約と一致しています。
```java
:title=Replace Text on Multiple Specific Pages
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-multiple-pages.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Build a 3-page PDF from HTML using CSS page breaks
String html = "<p> .NET6 </p>" +
"<p> This is 1st Page </p>" +
"<div style='page-break-after: always;'></div>" +
"<p> This is 2nd Page</p>" +
"<div style='page-break-after: always;'></div>" +
"<p> .NET6 </p>" +
"<p> This is 3rd Page</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Pages are zero-indexed: 0 = first page, 2 = third page
// Page index 1 (second page) is intentionally excluded
List<Integer> pages = Arrays.asList(0, 2);
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
```
[[i:(IronPDF内のすべてのページインデックスは0基準のインデックスを使用します。 ページ`1`は2ページ目などです。)]
)]]
HTMLからのマルチページPDFを作成するときは、ページの境界がどこにあるかを制御するために、[CSS `page-break-after`プロパティ](https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after)を使用してください。 [カスタム用紙サイズ](https://ironpdf.com/java/examples/custom-pdf-paper-size/)と[ページ方向](https://ironpdf.com/java/examples/pdf-page-orientation/)をレンダリングの前に設定することで、コンテンツ位置がテキスト置換の際に期待通りになります。 保存後、PDFを開いてターゲットとしたページのみが変更されたことを確認します。
### 出力はどのように見えますか?
<iframe loading="lazy" src="/static-assets/ironpdf-java/howto/find-replace-text/replaceTextOnMultiplePages.pdf" width="100%" height="400px"></iframe>
<hr />
## どのようなページ選択オプションがありますか?
`PageSelection`クラスは、すべての一般的なターゲティングパターンをカバーする静的ファクトリメソッドを提供します。 インスタンス作成は必要ありません; クラスに直接メソッドを呼び出します。 すべてのインデックスは0基準です。
### 単一ページと複数ページをターゲットにするメソッドはどれですか?
<table class="content__data-table" data-content-table>
<caption>replaceText APIのためのPageSelectionファクトリメソッド</caption>
| 方法 |翻訳内容|
|---|---|
| `PageSelection.allPages()` |ドキュメント内のすべてのページを選択します|
| `PageSelection.firstPage()` |インデックス`0`のページを選択します。|
| `PageSelection.lastPage()` |ドキュメントの長さに関係なく最終ページを選択します|
| `PageSelection.singlePage(int pageIndex)` |0基準のインデックスで特定の1ページを選択します|
| `PageSelection.pageRange(int startIndex, int endIndex)` |インデックス`endIndex`までの連続した範囲を選択します|
| `PageSelection.pageRange(List<Integer> pageList)` |任意のインデックスセットでページを選択します(例: `[0, 2]`がページ1と3を選択します)。|
</table>
### それぞれの PageSelection メソッドはいつ使うべきですか?
`allPages()`は、グローバルな検索と置換に最も簡単な選択です: 文書全体のターゲットテキストのすべてのインスタンスが1回の呼び出しで置換されます。 `firstPage()` または `lastPage()` を使用して、ページをカバーするクイック編集や最後のページのフッターを本文に触れずに行います。 章やセクションなど、連続したページにテキストが表示される場合、`pageRange(int, int)` を選択します。 ページが連続していない場合は `pageRange(List<Integer>)` を使用します; たとえば、バージョン文字列が1、3、7ページのみに表示される場合です。
[結合されたPDF](https://ironpdf.com/java/examples/split-pdfs/)、または[ブックマークとアウトライン](https://ironpdf.com/java/how-to/bookmarks/)を含むドキュメントを扱う際には、まず各論理セクションのページ範囲を特定し、それから共有ヘッダーやフッターを誤って変更しないようにターゲットの置換を適用します。 [IronPDF for Java API リファレンス](https://ironpdf.com/object-reference/api/) には、完全なパラメータドキュメントを備えたすべての `PageSelection` オーバーロードがリストされています。
[[n:(`replaceText` 呼び出しを try-catch ブロックでラップします。 指定した検索テキストがターゲットのページで見つからなかった場合、メソッドはランタイム例外をスローします。 検証ステップ(テキストの抽出と文字列が存在することの確認)は、本番環境での予期しない失敗を防ぎます。)]}
)]]
### すべてのページのテキストを一度に置き換えるにはどうすればよいですか?
ドキュメント全体の置換を一度の呼び出しで行う `PageSelection.allPages()` は、グローバルトークン置換の最も効率的なアプローチです。 以下の例は、ディスクからPDFを読み込み、ドキュメント全体のすべてのプレースホルダートークンを置き換えます。
```java
:title=Replace Text on All Pages
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-all-pages.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Replace the placeholder token on every page simultaneously
// This is equivalent to calling replaceText for each page individually
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Save the updated document
pdf.saveAs("contract-v2.pdf");
}
}
```
このパターンは、テンプレート駆動のワークフローと自然に組み合わさり、多くのページにわたってヘッダー、フッター、または本文テキストに同じプレースホルダーが現れる場合に適しています。 単ページのドキュメントの場合、`allPages()` と `firstPage()` は同一の結果を生成します。 ページ数が実行時に変動する可能性がある場合は、`allPages()` を優先します。
<hr />
## 一般的なテキスト置換シナリオをどのように処理すればよいですか?
Javaアプリケーションにおけるテキスト置換は、単純な検索と置換を超えるいくつかのパターンを含みます。 各ケースでメソッドがどのように動作するかを理解することで、本番環境でバグが発生する前に防ぐことができます。
### 大文字小文字を区別するマッチングが結果にどのように影響しますか?
`replaceText` は、厳密で大文字小文字を区別する一致を行います。 文字列 `"version 1.0"`、および `"VERSION 1.0"` は、3つの異なる値として扱われます。 ディスクから読み込んだドキュメントに置換を実行する前に、元のソースを確認するか、または[PDFからテキストを抽出](https://ironpdf.com/java/examples/extract-image-from-pdf/)することによって正確な大文字小文字を確認してください。
### PDFフォームのテキストをどのように置換するか?
インタラクティブなフォームフィールドを含むPDFは、そのテキスト値を[PDF仕様](https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf)で定義されているように、ドキュメントのコンテンツストリームから分離して保存します。 内容ストリームで動作する `replaceText` メソッドは、フォームフィールドの値を変更しません。 フォームフィールド内のテキストを更新するためには、代わりにIronPDFの[フォーム作成と編集API](https://ironpdf.com/java/how-to/create-forms/)を使用してください。 同じドキュメントで両方のアプローチを混合することは安全です:フォームフィールドの更新とコンテンツストリームの置換は互いに干渉しません。
### テンプレートベースのワークフローでテキストをどのように更新するか?
一般的なパターンとして、プレースホルダートークン (例 `{{CUSTOMER_NAME}}` または `[INVOICE_DATE]`) を持つ PDF テンプレートを維持し、実行時に実際の値で置き換えます。 プレースホルダーごとに一度 `replaceText` を呼び出し、`PageSelection.allPages()` を使用して、トークンが現れるすべての場所をカバーする置換を行います。 HTMLから生成されたドキュメントの場合、このワークフローは `renderHtmlAsPdf` の後に一連の置換呼び出しを続けることで同様に機能します。 これを[PDFウォーターマーク](https://ironpdf.com/java/how-to/custom-watermark/)や[背景と前景](https://ironpdf.com/java/how-to/background-foreground/)と組み合わせて、最終出力にブランディングや機密標識を追加してください。
## JavaでのPDFテキスト置換の次のステップとは?
このガイドでは、`PageSelection.firstPage()` を使った単ページ置換、`PageSelection.pageRange()` を使った選択的な多ページ置換、`PageSelection.allPages()` を使った文書全体の置換、および `PageSelection` ファクトリーメソッドのフルセットを取り上げました。 同じ `replaceText` API は、HTMLからレンダリングされたドキュメントであれ、ディスクから読み込まれたものであれ、複数のソースを統合して組み立てたものであれ、機能します。
[IronPDF for Javaを無料で試用開始](#trial-license)し、上記のコード例を自分のドキュメントに対して実行してみましょう。 本番環境への展開の準備が整ったら、[ライセンスオプションを確認](#licensing)してください。 ライセンスは開発者ごとに発行され、1年間の製品更新が含まれます。
IronPDF for Java の他の機能を確認してみませんか? PDF生成、注釈、[デジタル署名](https://ironpdf.com/java/examples/pdf-signatures/)、[圧縮](https://ironpdf.com/java/examples/pdf-compression/)、その他のチュートリアルについて、完全な[IronPDF for Java の使い方ガイド](https://ironpdf.com/java/)をご覧ください。
Ask ChatGPT about this page
Ask Gemini about this page
Ask Perplexity about this page
IronPDF for Javaは、replaceTextメソッドを通じて既存のPDFコンテンツを直接制御することを開発者に提供します。 生成されたレポートのバッチ内の誤字を修正する、テンプレート文書のバージョン番号を交換する、または顧客固有のデータで契約をパーソナライズする必要がある場合、このメソッドはページ選択、検索文字列、および置換文字列を受け入れ、残りを処理します。このガイドは、単一ページ置換、複数ページターゲティング、利用可能なすべてのPageSelectionオプション、およびテンプレート駆動ワークフローのための実用的なパターンをカバーしています。
IronPDF依存関係を追加し、PDFを読み込みまたはレンダリングし、replaceTextを呼び出し、結果を保存します:
1 Install IronPDF with Maven Central Repository
> mvn install
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2026.6.1</version>
</dependency>
2 このコード スニペットをコピーして実行します。
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/quickstart.java
import com . ironsoftware . ironpdf . * ;
import com . ironsoftware . ironpdf . edit . PageSelection ;
import java . io . IOException ;
public class App {
public static void main( String [] args) throws IOException {
License .setLicenseKey( "IRONPDF-MYLICENSE-KEY-1EF01" );
PdfDocument pdf = PdfDocument .renderHtmlAsPdf( "<h1>.NET6</h1>" );
pdf.replaceText( PageSelection .firstPage(), ".NET6" , ".NET7" );
pdf.saveAs( "replaceText.pdf" );
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/quickstart.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
pdf.saveAs("replaceText.pdf");
}
}
Java
3 実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
30日間無料トライアル
最小限のワークフロー(5ステップ) PDF内のテキストを置換するJavaライブラリをダウンロードする 。既存のPDFをロードするか、HTMLからレンダリングします pdf.replaceText(PageSelection, oldText, newText)を呼び出して、ターゲットページで置換しますPageSelectionメソッドを使用して、変更されるページを制御しますpdf.saveAs("output.pdf")で更新されたPDFを保存およびエクスポートします
単一ページのテキストを置き換えるにはどうすればよいですか?
replaceTextメソッドは3つの引数を受け取ります: 1つ以上のページをターゲットとするPageSelection、探す正確なテキスト、および置換文字列。 PageSelection.firstPage()を渡して最初のページをターゲットにします。 そのページ上の検索文字列のすべてのインスタンスが単一の呼び出しで置き換えられます。 対象ページでテキストが見つからない場合、メソッドはランタイム例外をスローします。 以下のスクリーンショットは、その例外がコンソールでどのように見えるかを示しています。
replaceTextが受け取るパラメータは何ですか?
メソッド署名はreplaceText(PageSelection pageSelection, String oldText, String newText)です。 一致はデフォルトで大文字小文字を区別します: "NET6"は異なる文字列として扱われます。 メソッドを呼び出す前に、レンダリングされたPDFの正確なケーシングを確認してください。 まずPDFのテキストコンテンツを抽出する ことで、正確なテキストを確認できます。IronPDF Java依存関係はMaven Central に公開されており、Java 8以上が必要です。
1 Install IronPDF with Maven Central Repository
> mvn install
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2026.6.1</version>
</dependency>
2 このコード スニペットをコピーして実行します。
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-single-page.java
import com . ironsoftware . ironpdf . * ;
import com . ironsoftware . ironpdf . edit . PageSelection ;
import java . io . IOException ;
public class App {
public static void main( String [] args) throws IOException {
// Set the IronPDF license key (required for production use)
License .setLicenseKey( "IRONPDF-MYLICENSE-KEY-1EF01" );
// Render HTML content into a PDF document
PdfDocument pdf = PdfDocument .renderHtmlAsPdf( "<h1>.NET6</h1>" );
// Define the search and replacement strings
String oldText = ".NET6" ;
String newText = ".NET7" ;
// Replace all instances of oldText on the first page only
// PageSelection.firstPage() targets page index 0
pdf.replaceText( PageSelection .firstPage(), oldText, newText);
// Save the modified PDF
pdf.saveAs( "replaceText.pdf" );
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-single-page.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key (required for production use)
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Render HTML content into a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Define the search and replacement strings
String oldText = ".NET6";
String newText = ".NET7";
// Replace all instances of oldText on the first page only
// PageSelection.firstPage() targets page index 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Save the modified PDF
pdf.saveAs("replaceText.pdf");
}
}
Java
3 実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
30日間無料トライアル
ライセンスキーをアプリケーション起動時に一度だけロードし、各操作ごとに行うのではなく、繰り返しの初期化オーバーヘッドを避けます。 同じJVMセッション内で複数のドキュメントを処理するときに効果的です。)]}
replaceTextメソッドは、IronPDFのHTMLからPDFへの変換ワークフロー と自然に統合されます。 まずHTMLテンプレートをレンダリングし、次に動的な値を注入するためにテキスト置換を適用します。 これにより、HTMLをクリーンに保ちながら、個別化された出力が生成されます。 ディスクからロードされた文書については、PdfDocument.fromFileに渡します。
出力はどのように見えますか?
複数ページにわたってテキストを置換するにはどうすればよいですか?
最初だけでなく特定のページをターゲットにするには、ページ番号のゼロインデックスリストをPageSelection.pageRange(List<Integer>)に渡します。 メソッドは指定されたリスト内の各ページ上で検索テキストを置換し、他のすべてのページは手つかずのままにします。 このパターンは、既知のページ上に一貫したヘッダーまたはフッターを持つドキュメントや、特定のページのみに現れるバージョン文字列があるバッチ生成されたレポートに適しています。
ページリストを使用したときに変更されるのはどのページですか?
以下の例では、HTMLから3ページのPDFが作成されます。 置換はページ2(最初のページと3ページ目)で実行されます。 ページ1(2ページ目)は元のテキストを変更せずに保持します。 ページインデックスは常に0から始まり、Javaのゼロベースの配列規約と一致しています。
1 Install IronPDF with Maven Central Repository
> mvn install
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2026.6.1</version>
</dependency>
2 このコード スニペットをコピーして実行します。
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-multiple-pages.java
import com . ironsoftware . ironpdf . * ;
import com . ironsoftware . ironpdf . edit . PageSelection ;
import java . io . IOException ;
import java . util . Arrays ;
import java . util . List ;
public class App {
public static void main( String [] args) throws IOException {
// Set the IronPDF license key
License .setLicenseKey( "IRONPDF-MYLICENSE-KEY-1EF01" );
// Build a 3-page PDF from HTML using CSS page breaks
String html = "<p> .NET6 </p>" +
"<p> This is 1st Page </p>" +
"<div style='page-break-after: always;'></div>" +
"<p> This is 2nd Page</p>" +
"<div style='page-break-after: always;'></div>" +
"<p> .NET6 </p>" +
"<p> This is 3rd Page</p>" ;
PdfDocument pdf = PdfDocument .renderHtmlAsPdf(html);
String oldText = ".NET6" ;
String newText = ".NET7" ;
// Pages are zero-indexed: 0 = first page, 2 = third page
// Page index 1 (second page) is intentionally excluded
List < Integer > pages = Arrays .asList( 0 , 2 );
pdf.replaceText( PageSelection .pageRange(pages), oldText, newText);
pdf.saveAs( "replaceTextOnMultiplePages.pdf" );
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-multiple-pages.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Build a 3-page PDF from HTML using CSS page breaks
String html = "<p> .NET6 </p>" +
"<p> This is 1st Page </p>" +
"<div style='page-break-after: always;'></div>" +
"<p> This is 2nd Page</p>" +
"<div style='page-break-after: always;'></div>" +
"<p> .NET6 </p>" +
"<p> This is 3rd Page</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Pages are zero-indexed: 0 = first page, 2 = third page
// Page index 1 (second page) is intentionally excluded
List<Integer> pages = Arrays.asList(0, 2);
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
Java
3 実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
30日間無料トライアル
IronPDF内のすべてのページインデックスは0基準のインデックスを使用します。 ページ1は2ページ目などです。)]
HTMLからのマルチページPDFを作成するときは、ページの境界がどこにあるかを制御するために、CSS page-break-afterプロパティ を使用してください。 カスタム用紙サイズ とページ方向 をレンダリングの前に設定することで、コンテンツ位置がテキスト置換の際に期待通りになります。 保存後、PDFを開いてターゲットとしたページのみが変更されたことを確認します。
出力はどのように見えますか?
どのようなページ選択オプションがありますか?
PageSelectionクラスは、すべての一般的なターゲティングパターンをカバーする静的ファクトリメソッドを提供します。 インスタンス作成は必要ありません; クラスに直接メソッドを呼び出します。 すべてのインデックスは0基準です。
単一ページと複数ページをターゲットにするメソッドはどれですか?
それぞれの PageSelection メソッドはいつ使うべきですか?
allPages()は、グローバルな検索と置換に最も簡単な選択です: 文書全体のターゲットテキストのすべてのインスタンスが1回の呼び出しで置換されます。 firstPage() または lastPage() を使用して、ページをカバーするクイック編集や最後のページのフッターを本文に触れずに行います。 章やセクションなど、連続したページにテキストが表示される場合、pageRange(int, int) を選択します。 ページが連続していない場合は pageRange(List<Integer>) を使用します; たとえば、バージョン文字列が1、3、7ページのみに表示される場合です。
結合されたPDF 、またはブックマークとアウトライン を含むドキュメントを扱う際には、まず各論理セクションのページ範囲を特定し、それから共有ヘッダーやフッターを誤って変更しないようにターゲットの置換を適用します。 IronPDF for Java API リファレンス には、完全なパラメータドキュメントを備えたすべての PageSelection オーバーロードがリストされています。
replaceText 呼び出しを try-catch ブロックでラップします。 指定した検索テキストがターゲットのページで見つからなかった場合、メソッドはランタイム例外をスローします。 検証ステップ(テキストの抽出と文字列が存在することの確認)は、本番環境での予期しない失敗を防ぎます。)]}
すべてのページのテキストを一度に置き換えるにはどうすればよいですか?
ドキュメント全体の置換を一度の呼び出しで行う PageSelection.allPages() は、グローバルトークン置換の最も効率的なアプローチです。 以下の例は、ディスクからPDFを読み込み、ドキュメント全体のすべてのプレースホルダートークンを置き換えます。
1 Install IronPDF with Maven Central Repository
> mvn install
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2026.6.1</version>
</dependency>
2 このコード スニペットをコピーして実行します。
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-all-pages.java
import com . ironsoftware . ironpdf . * ;
import com . ironsoftware . ironpdf . edit . PageSelection ;
import java . io . IOException ;
import java . nio . file . Paths ;
public class App {
public static void main( String [] args) throws IOException {
// Set the IronPDF license key
License .setLicenseKey( "IRONPDF-MYLICENSE-KEY-1EF01" );
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument .fromFile( Paths .get( "contract-template.pdf" ));
// Replace the placeholder token on every page simultaneously
// This is equivalent to calling replaceText for each page individually
pdf.replaceText( PageSelection .allPages(), "{{VERSION}}" , "2.0" );
// Save the updated document
pdf.saveAs( "contract-v2.pdf" );
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-all-pages.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;
import java.io.IOException;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) throws IOException {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Replace the placeholder token on every page simultaneously
// This is equivalent to calling replaceText for each page individually
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Save the updated document
pdf.saveAs("contract-v2.pdf");
}
}
Java
3 実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
30日間無料トライアル
このパターンは、テンプレート駆動のワークフローと自然に組み合わさり、多くのページにわたってヘッダー、フッター、または本文テキストに同じプレースホルダーが現れる場合に適しています。 単ページのドキュメントの場合、allPages() と firstPage() は同一の結果を生成します。 ページ数が実行時に変動する可能性がある場合は、allPages() を優先します。
一般的なテキスト置換シナリオをどのように処理すればよいですか?
Javaアプリケーションにおけるテキスト置換は、単純な検索と置換を超えるいくつかのパターンを含みます。 各ケースでメソッドがどのように動作するかを理解することで、本番環境でバグが発生する前に防ぐことができます。
大文字小文字を区別するマッチングが結果にどのように影響しますか?
replaceText は、厳密で大文字小文字を区別する一致を行います。 文字列 "version 1.0"、および "VERSION 1.0" は、3つの異なる値として扱われます。 ディスクから読み込んだドキュメントに置換を実行する前に、元のソースを確認するか、またはPDFからテキストを抽出 することによって正確な大文字小文字を確認してください。
PDFフォームのテキストをどのように置換するか?
インタラクティブなフォームフィールドを含むPDFは、そのテキスト値をPDF仕様 で定義されているように、ドキュメントのコンテンツストリームから分離して保存します。 内容ストリームで動作する replaceText メソッドは、フォームフィールドの値を変更しません。 フォームフィールド内のテキストを更新するためには、代わりにIronPDFのフォーム作成と編集API を使用してください。 同じドキュメントで両方のアプローチを混合することは安全です:フォームフィールドの更新とコンテンツストリームの置換は互いに干渉しません。
テンプレートベースのワークフローでテキストをどのように更新するか?
一般的なパターンとして、プレースホルダートークン (例 {{CUSTOMER_NAME}} または [INVOICE_DATE]) を持つ PDF テンプレートを維持し、実行時に実際の値で置き換えます。 プレースホルダーごとに一度 replaceText を呼び出し、PageSelection.allPages() を使用して、トークンが現れるすべての場所をカバーする置換を行います。 HTMLから生成されたドキュメントの場合、このワークフローは renderHtmlAsPdf の後に一連の置換呼び出しを続けることで同様に機能します。 これをPDFウォーターマーク や背景と前景 と組み合わせて、最終出力にブランディングや機密標識を追加してください。
JavaでのPDFテキスト置換の次のステップとは?
このガイドでは、PageSelection.firstPage() を使った単ページ置換、PageSelection.pageRange() を使った選択的な多ページ置換、PageSelection.allPages() を使った文書全体の置換、および PageSelection ファクトリーメソッドのフルセットを取り上げました。 同じ replaceText API は、HTMLからレンダリングされたドキュメントであれ、ディスクから読み込まれたものであれ、複数のソースを統合して組み立てたものであれ、機能します。
IronPDF for Javaを無料で試用開始 し、上記のコード例を自分のドキュメントに対して実行してみましょう。 本番環境への展開の準備が整ったら、ライセンスオプションを確認 してください。 ライセンスは開発者ごとに発行され、1年間の製品更新が含まれます。
IronPDF for Java の他の機能を確認してみませんか? PDF生成、注釈、デジタル署名 、圧縮 、その他のチュートリアルについて、完全なIronPDF for Java の使い方ガイド をご覧ください。
よくある質問 IronPDF の replaceText メソッドを使用します。指定されたページのすべての発生を置き換えるには、pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") を呼び出します。IronPDF は、オリジナルのフォーマットを保持しながら、すべての出現を見つけて置き換えます。
メソッドは3つのパラメータを受け取ります:変更するページを指定するための PageSelection、検索対象のテキストを含む String、および置換テキストを含む String です。たとえば、pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7") は最初のページ上のすべてのインスタンスを置き換えます。
はい。ページ0にはPageSelection.firstPage()、最終ページにはPageSelection.lastPage()、任意のページには0から始まるインデックスを使用したPageSelection.singlePage(n)、非連続のページには整数のリストでPageSelection.pageRange()を使用します。
IronPDFは、対象のテキストがターゲットのページに見つからない場合、ランタイム例外(Exception_RemoteException)をスローします。replaceTextを呼び出す前に、文字列が存在することを確認するためにPDFテキストを抽出し、try-catchブロックでラップしてください。
はい。replaceTextメソッドは正確で大文字と小文字を区別した一致を行います。"Version 1.0"、"version 1.0"、"VERSION 1.0"は3つの異なる値として扱われます。メソッドを呼び出す前に、正確な大文字小文字の確認を行ってください。
いいえ。replaceTextメソッドはPDFコンテンツストリーム上で操作を行い、インタラクティブなフォームフィールドの値を変更しません。フォームフィールドを更新するには、IronPDFのPdfDocumentフォームメソッドを使用して専用のフォーム編集APIを使用してください。
replaceTextの最初の引数としてPageSelection.allPages()を使用します。これにより、すべてのページで対象のテキストのすべてのインスタンスが置換され、テンプレート駆動のワークフローでドキュメント全体のプレースホルダーを使用する際に推奨される方法です。
IronPDF's `replaceText` method operates on content streams and does not affect form field values. For form field modification, use IronPDF's form creation and editing API.
Maintain a PDF template with placeholders like `{{CUSTOMER_NAME}}`. Use `replaceText` with `PageSelection.allPages()` to substitute these placeholders with actual values at runtime.
Start by downloading a free trial of IronPDF for Java. Follow the documentation and code examples to replace text in PDFs. Consider licensing options when you're ready for production deployment.
テクニカルライター
Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
...
詳しく読む