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文書の作成または読み込み 3.pdf.replaceText(PageSelection.firstPage(), "oldText", "newText")を呼び出します。 4.変更したPDFをpdf.saveAs("output.pdf")で保存します。

はじめに

.

<!スクリーンショットまたは図

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

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

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

IronPDF console error showing Exception_RemoteException when replacing text '.NET7' - failed to find specified text.

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から21-3のページを選択します)。
  • pageRange(List<Integer> pageList): リストから特定のページを選択します (例えば、[0, 2]13 のページを選択します)。
  • singlePage(int pageIndex): PDFの単一ページを指定します。

それぞれの 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.2 リリース