IRONSOFTWAREHOME

PDF内のテキストを置換する方法

Curtis Chau
Curtis Chau
Updated: 2026年6月16日

IronPDF for Javaは、replaceTextメソッドを通じて既存のPDFコンテンツを直接制御することを開発者に提供します。 生成されたレポートのバッチ内の誤字を修正する、テンプレート文書のバージョン番号を交換する、または顧客固有のデータで契約をパーソナライズする必要がある場合、このメソッドはページ選択、検索文字列、および置換文字列を受け入れ、残りを処理します。このガイドは、単一ページ置換、複数ページターゲティング、利用可能なすべてのPageSelectionオプション、およびテンプレート駆動ワークフローのための実用的なパターンをカバーしています。

クイックスタート:PDF内のテキストを置換

IronPDF依存関係を追加し、PDFを読み込みまたはレンダリングし、replaceTextを呼び出し、結果を保存します:

  1. 1Install IronPDF with Maven Central Repository

    > mvn install

  2. 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");
        }
    }
    Java
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer

単一ページのテキストを置き換えるにはどうすればよいですか?

replaceTextメソッドは3つの引数を受け取ります: 1つ以上のページをターゲットとするPageSelection、探す正確なテキスト、および置換文字列。 PageSelection.firstPage()を渡して最初のページをターゲットにします。 そのページ上の検索文字列のすべてのインスタンスが単一の呼び出しで置き換えられます。 対象ページでテキストが見つからない場合、メソッドはランタイム例外をスローします。 以下のスクリーンショットは、その例外がコンソールでどのように見えるかを示しています。

ターゲットテキスト'.NET7'がreplaceText中に見つからない場合の例外_RemoteExceptionを示すIronPDFコンソール出力

replaceTextが受け取るパラメータは何ですか?

メソッド署名はreplaceText(PageSelection pageSelection, String oldText, String newText)です。 一致はデフォルトで大文字小文字を区別します: "NET6"は異なる文字列として扱われます。 メソッドを呼び出す前に、レンダリングされたPDFの正確なケーシングを確認してください。 まずPDFのテキストコンテンツを抽出することで、正確なテキストを確認できます。IronPDF Java依存関係はMaven Centralに公開されており、Java 8以上が必要です。

  1. 1Install IronPDF with Maven Central Repository

    > mvn install

  2. 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");
        }
    }
    Java
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer
ヒント: ライセンスキーをアプリケーション起動時に一度だけロードし、各操作ごとに行うのではなく、繰り返しの初期化オーバーヘッドを避けます。 同じJVMセッション内で複数のドキュメントを処理するときに効果的です。)]}

replaceTextメソッドは、IronPDFのHTMLからPDFへの変換ワークフローと自然に統合されます。 まずHTMLテンプレートをレンダリングし、次に動的な値を注入するためにテキスト置換を適用します。 これにより、HTMLをクリーンに保ちながら、個別化された出力が生成されます。 ディスクからロードされた文書については、PdfDocument.fromFileに渡します。

出力はどのように見えますか?


複数ページにわたってテキストを置換するにはどうすればよいですか?

最初だけでなく特定のページをターゲットにするには、ページ番号のゼロインデックスリストをPageSelection.pageRange(List<Integer>)に渡します。 メソッドは指定されたリスト内の各ページ上で検索テキストを置換し、他のすべてのページは手つかずのままにします。 このパターンは、既知のページ上に一貫したヘッダーまたはフッターを持つドキュメントや、特定のページのみに現れるバージョン文字列があるバッチ生成されたレポートに適しています。

ページリストを使用したときに変更されるのはどのページですか?

以下の例では、HTMLから3ページのPDFが作成されます。 置換はページ2(最初のページと3ページ目)で実行されます。 ページ1(2ページ目)は元のテキストを変更せずに保持します。 ページインデックスは常に0から始まり、Javaのゼロベースの配列規約と一致しています。

  1. 1Install IronPDF with Maven Central Repository

    > mvn install

  2. 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");
        }
    }
    Java
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer
ご注意: IronPDF内のすべてのページインデックスは0基準のインデックスを使用します。 ページ1は2ページ目などです。)]

HTMLからのマルチページPDFを作成するときは、ページの境界がどこにあるかを制御するために、CSS page-break-afterプロパティを使用してください。 カスタム用紙サイズとページ方向をレンダリングの前に設定することで、コンテンツ位置がテキスト置換の際に期待通りになります。 保存後、PDFを開いてターゲットとしたページのみが変更されたことを確認します。

出力はどのように見えますか?


どのようなページ選択オプションがありますか?

PageSelectionクラスは、すべての一般的なターゲティングパターンをカバーする静的ファクトリメソッドを提供します。 インスタンス作成は必要ありません; クラスに直接メソッドを呼び出します。 すべてのインデックスは0基準です。

単一ページと複数ページをターゲットにするメソッドはどれですか?

replaceText APIのためのPageSelectionファクトリメソッド
方法翻訳内容
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を選択します)。

それぞれの 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. 1Install IronPDF with Maven Central Repository

    > mvn install

  2. 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");
        }
    }
    Java
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer

このパターンは、テンプレート駆動のワークフローと自然に組み合わさり、多くのページにわたってヘッダー、フッター、または本文テキストに同じプレースホルダーが現れる場合に適しています。 単ページのドキュメントの場合、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 の使い方ガイドをご覧ください。

よくある質問

Javaを使ってPDFのテキストを置き換えるには?

IronPDF の replaceText メソッドを使用します。指定されたページのすべての発生を置き換えるには、pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") を呼び出します。IronPDF は、オリジナルのフォーマットを保持しながら、すべての出現を見つけて置き換えます。

replaceText メソッドはどのようなパラメータを受け取りますか?

メソッドは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はフォームフィールドの値を変更しますか?

いいえ。replaceTextメソッドはPDFコンテンツストリーム上で操作を行い、インタラクティブなフォームフィールドの値を変更しません。フォームフィールドを更新するには、IronPDFのPdfDocumentフォームメソッドを使用して専用のフォーム編集APIを使用してください。

トークンをすべてのページに一度に置換するにはどうすればよいですか?

replaceTextの最初の引数としてPageSelection.allPages()を使用します。これにより、すべてのページで対象のテキストのすべてのインスタンスが置換され、テンプレート駆動のワークフローでドキュメント全体のプレースホルダーを使用する際に推奨される方法です。

Can IronPDF replace text in form fields within a PDF?

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.

What is the recommended workflow for replacing placeholders in a PDF template using IronPDF?

Maintain a PDF template with placeholders like `{{CUSTOMER_NAME}}`. Use `replaceText` with `PageSelection.allPages()` to substitute these placeholders with actual values at runtime.

How can I start using IronPDF for Java to replace text in PDFs?

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
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

バージョン:2026.6リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project