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

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

IronPDF Java を使用して PDF 内のテキストを置換するには、replaceText メソッドと PageSelection を使用してページを指定し、古いテキスト文字列と新しいテキスト文字列を指定します。 これにより、誤字脱字の修正、情報の更新、テンプレートのカスタマイズなど、PDFコンテンツの自動編集が可能になります。

クイックスタート: Java を使用して PDF 内のテキストを置換する

1.IronPDFの依存関係をプロジェクトに追加する 2.PDF文書の作成または読み込み

  1. pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") に電話する
  2. 変更したPDFをpdf.saveAs("output.pdf")で保存します。

はじめに

IronPDFのテキスト置換機能は、既存のPDFコンテンツをプログラムで変更するための強力なツールを開発者に提供します。 製品ドキュメントを更新する場合、生成されたレポートのエラーを修正する場合、またはテンプレートからカスタマイズされたドキュメントを作成する場合、replaceText メソッドを使用すると、コンテンツの変更を正確に制御できます。 この機能は、IronPDFフォームで作業する場合や、特定のテキスト要素を更新しながら一貫した書式を維持する必要がある場合に特に役立ちます。

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

テキストを置き換えるには、replaceText メソッドを呼び出すだけです。 このメソッドは 3 つのパラメータを取ります: PageSelection はページを指定し、文字列は古いテキストを表し、3 番目のパラメータは新しいテキストです。 以下の例では、PageSelection.firstPage() は PDF の最初のページを取得します。 .NET6 のすべてのインスタンスは、.NET7 に置き換えられます。 このメソッドは、指定された古いテキストが見つからない場合、実行時例外をスローします。

 テキスト '.NET7' を置換するときに Exception_RemoteException が表示されるIronPDFコンソール エラー - 指定されたテキストが見つかりませんでした

replaceTextにはどのようなパラメータが必要ですか?

```java :title=テキストの置換例 インポート com.ironsoftware.ironPdf.*; インポート com.ironsoftware.ironPdf.edit.PageSelection; インポート java.io.IOException;

/**

  • PDFのテキストを置き換える方法を示すための主なアプリケーションクラス。 */ public class App { (パブリッククラス App

    public static void main(String[] args) throws IOException { {.

    // IronPdfライセンスキーの設定 - 実稼働環境での使用に必要です。
    License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
    
    // HTML コンテンツを PDF にレンダリング
    // HTML コンテンツから新しい PDF を作成します。
    PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
    
    // 旧テキストと新テキストの定義
    文字列 oldText = ".NET6";  // 検索するテキスト
    文字列 newText = ".NET7";  // 代替テキスト
    
    // 最初のページの oldText をすべて newText に置き換えてください。
    // PageSelection.firstPage() は、最初のページ (インデックス 0) のみを対象とします。
    pdf.replaceText(PageSelection.firstPage(), oldText, newText);
    
    // PDFドキュメントを保存する
    pdf.saveAs("replaceText.pdf");

    } }

ヒントすべてのページインデックスはゼロベースのインデックスに従います。

replaceText メソッドは、デフォルトで大文字と小文字を区別した一致を実行します。 "net6 "と "NET6 "は異なる文字列として扱われます。 HTMLからPDFへの変換で作業する場合は、検索テキストがレンダリングされたPDFに表示されるものと正確に一致するようにしてください。 より高度なテキスト操作については、PDFからテキストを抽出して、置換前に内容を確認することを検討してください。

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


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

複数のページのテキストを置き換えるには、同じ replaceText メソッドを使用します。 PageSelection クラスから pageRange メソッドを呼び出し、ページを指定するための整数のリストを入力します。 以下の例では、1ページ目と3ページ目のテキストのみを置き換えています。 このアプローチは、特定のページで一貫したヘッダーやフッターがある文書や、PDF内の複数の場所に表示される情報を更新する場合に効果的です。

テキスト置換の対象となるページは?

インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.io.IOException;
import java.util.Arrays;
import java.util.List;

/**
 * Main application class for demonstrating how to replace text on multiple pages of a PDF.
 */
public class App { (パブリッククラス App

    public static void main(String[] args) throws IOException { {.

        // Set the IronPDF license key - see https://ironpdf.com/java/licensing/
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // HTML content that will be converted to a 3-page PDF
        // Page breaks are created using CSS page-break-after property
        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>";

        // Render the HTML content into a PDF
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        // 旧テキストと新テキストの定義
        文字列 oldText = ".NET6";
        文字列 newText = ".NET7";

        // Define the pages where text replacement should occur 
        // Page numbers are zero-indexed: 0 = first page, 2 = third page
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace the text on specified pages only
        // The second page (index 1) will remain unchanged
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        // PDFドキュメントを保存する
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
インポート com.ironsoftware.ironPdf.*;
インポート com.ironsoftware.ironPdf.edit.PageSelection;
インポート java.io.IOException;
import java.util.Arrays;
import java.util.List;

/**
 * Main application class for demonstrating how to replace text on multiple pages of a PDF.
 */
public class App { (パブリッククラス App

    public static void main(String[] args) throws IOException { {.

        // Set the IronPDF license key - see https://ironpdf.com/java/licensing/
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // HTML content that will be converted to a 3-page PDF
        // Page breaks are created using CSS page-break-after property
        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>";

        // Render the HTML content into a PDF
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        // 旧テキストと新テキストの定義
        文字列 oldText = ".NET6";
        文字列 newText = ".NET7";

        // Define the pages where text replacement should occur 
        // Page numbers are zero-indexed: 0 = first page, 2 = third page
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace the text on specified pages only
        // The second page (index 1) will remain unchanged
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        // PDFドキュメントを保存する
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
JAVA

HTMLから複数ページのPDFを作成する場合、カスタムPDFのページサイズページの向きの設定を理解することで、テキストの置換を適用する前に、すべてのページでコンテンツが正しく表示されるようにすることができます。

置き換え中にページをスキップするとどうなりますか?


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

PageSelection メソッドを使用すると、開発者は変更するページを指定できます。 パラメータの完全なリストは以下のとおりです。

ご注意PageSelection クラスメソッドは静的です。 インスタンスの作成は不要です。 ページインデックスは 0 から始まります。

どのメソッドが単一ページと複数ページをターゲットにしていますか?

  • allPages: PDFのすべてのページを選択します
  • firstPage: PDFの最初のページを選択します
  • lastPage: PDFの最後のページを選択します
  • pageRange(int startIndex, int endIndex): ページの範囲を指定します (例: 0 から 2 は、ページ 3 を選択します)
  • pageRange(List<Integer> pageList): リストから特定のページを選択します (例: [0, 2] はページ 13 を選択します)
  • singlePage(int pageIndex): PDFの1ページを指定します

それぞれの PageSelection メソッドはいつ使うべきですか?

ドキュメントのヘッダーとフッターをすばやく編集するには、firstPage() または lastPage() を使用します。 章などの連続した複数のページを更新する場合は、pageRange() を選択します。 対象を絞った修正には singlePage() を選択し、文書全体に対するグローバルな検索と置換操作には allPages() を適用します。

結合された PDFを操作する場合、pageRange() を使用して、特定のソース ドキュメントのページのみを更新します。 同様に、ブックマークとアウトラインのある文書を扱う場合は、そのページ範囲を使って特定のセクションをターゲットにします。

テキスト置換のベストプラクティス

Javaアプリケーションにテキスト置換を実装する場合は、以下の重要な要素を考慮してください:

パフォーマンスの最適化:各操作の前ではなく、アプリケーションの起動時にライセンスキーを一度ロードします。 これにより、複数の文書を処理する際のパフォーマンスが向上します。 ライセンスキーの効果的な使用方法については、こちらをご覧ください。

エラー処理:テキスト置換操作を try-catch ブロックでラップして、潜在的な例外を優雅に処理します。 最も一般的な例外は、指定されたテキストが見つからない場合です。 まず、PDFからテキストを抽出して、その存在を確認する検証ステップを実装することを検討してください。

書式の保持: replaceText メソッドは、フォント ファミリ、サイズ、色、スタイルなどの元のテキスト書式を維持します。 そのため、視覚的な一貫性を保ちながらコンテンツを更新するのに適しています。 書式をより細かく制御するには、カスタムレンダリング設定を使用してHTMLからPDFを再生成することを検討してください。

複雑な文書を扱う:フォームを含むPDFについては、テキスト置換ではなく、PDFフォームを埋めるための特別な方法を使用してください。 これにより、フォームフィールドの機能が損なわれないようにします。

一般的なユースケース

PDFのテキスト置換は、さまざまな業界で数多くの実用的な用途に使用されています:

テンプレートベースのドキュメント生成:実際のデータに置き換えることができるプレースホルダテキストを使用して、再利用可能なPDFテンプレートを作成します。 このアプローチは、請求書、契約書、報告書など、レイアウトは一貫しているが内容が異なる場合に有効です。

ドキュメントの一括更新:複数のPDFで会社情報、住所、連絡先を同時に更新します。 これは、リブランディング時や規制情報が変更された場合に特に役立ちます。

ローカリゼーションと翻訳:異なる市場向けにローカライズされたバージョンのドキュメントを作成するために、テキストコンテンツを置き換えます。 また、カスタムフォントのサポートと組み合わせることで、さまざまな言語の適切な文字レンダリングを保証します。

ダイナミックコンテンツパーソナライゼーション:プレースホルダテキストを顧客固有の情報に置き換えることで、個々の受信者向けにPDFをパーソナライズし、文書の受信者により魅力的なエクスペリエンスを提供します。

よくある質問

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

IronPDF Javaを使ってPDFのテキストを置き換えるには、replaceTextメソッドを使います。pdf.replaceText(PageSelection.firstPage(), "oldText", "newText")を呼び出すだけで、指定されたページのすべての古いテキストが新しいテキストに置き換えられます。IronPDFは元の書式を維持したまま、自動的にすべてのテキストを検索して置換します。

replaceTextメソッドにはどのようなパラメータが必要ですか?

IronPDFのreplaceTextメソッドは3つのパラメータを必要とします:変更するページを指定するPageSelection、検索するテキストを含む文字列、置換テキストを含む文字列です。例えば、pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7")は最初のページの'.NET6'を'.NET7'に置き換えます。

特定のページのテキストだけを置き換えることはできますか?

はい、IronPDFではPageSelectionパラメータを使って特定のページのテキストを置き換えることができます。最初のページにはPageSelection.firstPage()を、最後のページにはPageSelection.lastPage()を、テキスト置換を行うページの範囲を指定するにはPageSelection.pageRange()を使用します。

置き換えたいテキストが見つからない場合はどうなりますか?

IronPDFは置換するテキストが見つからない場合、実行時例外(Exception_RemoteException)をスローします。これにより、置換操作が失敗したことを確実に認識することができ、Javaアプリケーションで適切にエラーを処理することができます。

この機能を使って、テンプレートの更新やPDFの誤字脱字を修正できますか?

もちろんです!IronPDFのテキスト置換機能はテンプレートの更新、誤字脱字の修正、ドキュメントのカスタマイズに最適です。生成されたレポートのエラーの修正、製品ドキュメントの更新、テンプレートからのパーソナライズされたドキュメントの作成など、replaceTextメソッドはコンテンツの修正を正確にコントロールします。

テキストを置き換えても、元のPDFフォーマットは維持されますか?

はい、IronPDFのreplaceTextメソッドはPDFドキュメントの元の書式を維持します。テキストを置き換える際、新しいコンテンツは元のテキストと同じフォント、サイズ、色、スタイルを引き継ぎます。

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

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

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

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

準備はできましたか?
バージョン: 2026.3 リリース
Still Scrolling Icon

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

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