C#でPDF 編集 — PDFのテキストを検索・置換する方法
IronPDF のシンプルな API を使用して C# で PDF 内のテキストを置き換えます。ドキュメント全体の変更には ReplaceTextOnAllPages() を使用し、特定のページには ReplaceTextOnPage() を使用します。 これにより、.NETアプリケーションの自動修正、テンプレートのカスタマイズ、動的なコンテンツ更新が可能になります。
クイックスタート: IronPDFでPDF 編集 — PDFテキストを置換する
IronPDFを使用して、PDF内のテキストの置換を簡単に開始できます。 わずか数行のコードで、ドキュメントの更新やカスタマイズを迅速に行うことができます。 この例は、PDFのすべてのページにわたってテキストを置換する方法を示します。 単にPDFを読み込み、置換するテキストを指定し、更新されたドキュメントを保存します。 タイプミスの修正やテンプレート内の情報の更新に最適なIronPdfは、C#でのテキスト置換をシームレスにします。 このガイドに飛び込み、.NET環境でのPDF処理効率を向上させましょう。
最小限のワークフロー(5ステップ)
- C#ライブラリをダウンロードする。
- 新しいPDFを生成するか、既存のPDFドキュメントをインポートする
- ドキュメント全体のテキストを置き換えるには、`ReplaceTextOnAllPages`メソッドを使用します。
- ターゲットとなるテキスト置換のページ番号を指定する
- 編集した PDF ドキュメントをエクスポートします。
PDFのテキストを置き換えるにはどうすればよいですか?
"テキストの置換"アクションは、新しくレンダリングされたものでもインポートされたものでも、任意の PdfDocument オブジェクトに適用できます。 置換する古いテキストと新しいテキストの両方を指定して、ReplaceTextOnAllPages メソッドを使用します。 メソッドが指定された古いテキストを見つけられない場合、'Error while replacing text: failed to find text '.NET6'というメッセージとともに例外が発生します。
以下のコード例では、'.NET6'というテキストを含む新しくレンダリングされたPDFドキュメントでのテキスト置換方法を示します。 この機能は、HTMLからPDFへの変換や、既存のPDFの編集が必要な場合に特に役立ちます。
基本コードはどのように見えますか?
:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-all-page.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");
string oldText = ".NET6";
string newText = ".NET7";
// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);
pdf.SaveAs("replaceText.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
' Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText)
pdf.SaveAs("replaceText.pdf")
アプリケーションにテキスト置換を実装する際には、ヘッダーとフッターの追加や、カスタム透かしをPDFに適用して、ドキュメントのブランディングと識別を強化することも検討するとよいでしょう。
テキストを改行で置き換えるには?
テキスト置換アクションは改行文字をサポートし、新しい文字列で古いテキストを置換できます。 この機能は、適切な文書構造を維持する必要がある場合や、複数行のテキストコンテンツを扱う場合に不可欠です。 これを実現するには、新しい文字列に改行文字 (\n) を追加します。 上記の例を使用して、newText を、.NET7 ではなく、.NET7\nnewline に置き換えます。 このアプローチはIronPDFで利用可能な様々なレンダリングオプションとシームレスに動作します。
指定したページのテキストを置き換えるにはどうすればよいですか?
文書内のテキストをより正確に置き換えるために、IronPdfは単一ページまたは複数ページのテキストを置き換えるオプションを提供しています。 特定のページ上のテキストを置換するには ReplaceTextOnPage メソッドを使用し、指定された複数のページ上のテキストを置換するには ReplaceTextOnPages メソッドを使用します。 このきめ細かなコントロールは、複雑なPDFフォームや、ページによって内容が異なるドキュメントを扱うときに特に役立ちます。
単一ページのテキストを置き換えるにはどうすればよいですか?
:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-single-page.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");
string oldText = ".NET6";
string newText = ".NET7";
// Replace text on page 1
pdf.ReplaceTextOnPage(0, oldText, newText);
pdf.SaveAs("replaceTextOnSinglePage.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
' Replace text on page 1
pdf.ReplaceTextOnPage(0, oldText, newText)
pdf.SaveAs("replaceTextOnSinglePage.pdf")
複数のページのテキストを置き換えるにはどうすればよいですか?
:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-multiple-pages.cs
using IronPdf;
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>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
string oldText = ".NET6";
string newText = ".NET7";
int[] pages = { 0, 2 };
// Replace text on page 1 & 3
pdf.ReplaceTextOnPages(pages, oldText, newText);
pdf.SaveAs("replaceTextOnMultiplePages.pdf");
Imports IronPdf
Private html As String = "<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>"
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
Private pages() As Integer = { 0, 2 }
' Replace text on page 1 & 3
pdf.ReplaceTextOnPages(pages, oldText, newText)
pdf.SaveAs("replaceTextOnMultiplePages.pdf")
複数ページのドキュメントを扱う場合、特に大きなドキュメントやバッチ処理シナリオを扱うときは、テキストの置換操作後のファイルサイズを最適化するために、PDF圧縮の実装を検討してください。
テキストを置き換えるときにカスタム フォントを使用するにはどうすればよいですか?
ReplaceTextOnPage メソッドでは、カスタムフォントとサイズを使用することもできます。まずPDFにフォントを追加し、次にフォント名をパラメータとしてメソッドに渡します。 次の例では、Pixelify Sans Fontを使っています。 カスタムフォントの実装は、ブランドの一貫性を維持する場合や、国際言語とUTF-8サポートで作業する場合に特に重要です。
カスタムフォントの実装にはどのようなステップが必要ですか?
:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-custom-font.cs
using IronPdf;
using System.IO;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>");
string oldText = ".NET6";
string newText = ".NET7";
// Add custom font
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var pdfFont = pdf.Fonts.Add(fontByte);
// Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24);
pdf.SaveAs("replaceCustomText.pdf");
Imports IronPdf
Imports System.IO
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>")
Private oldText As String = ".NET6"
Private newText As String = ".NET7"
' Add custom font
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private pdfFont = pdf.Fonts.Add(fontByte)
' Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24)
pdf.SaveAs("replaceCustomText.pdf")
高度なテキスト置換シナリオ
IronPDFは基本的なテキスト置換にとどまらず、複雑なシナリオに対応する強力な機能を提供します。 テンプレートや動的なドキュメントを扱う場合は、テキストや画像にスタンプを押したり、デジタル署名を追加したりといった他の機能とテキストの置換を組み合わせてください。 バッチ処理を必要とするアプリケーションでは、asyncおよびマルチスレッド機能と一緒にテキスト置換を実装し、複数のPDFを同時に処理する際のパフォーマンスを最適化します。 これは、ドキュメントのスループットが重要な企業環境で特に役立ちます。 機密情報を置き換える際には、IronPdfの再編集機能で機密データを永久に削除し、データ保護規制へのコンプライアンスを確保してください。
よくある質問
C# を使っ て PDF の全ページのテ キ ス ト を置 き 換え る 方法は?
IronPDFでは、ReplaceTextOnAllPages()メソッドを使ってすべてのページのテキストを簡単に置き換えることができます。PDFドキュメントを読み込み、古いテキストと新しいテキストをパラメータとしてこのメソッドを呼び出し、更新されたドキュメントを保存するだけです。この機能は、一括修正やテンプレートの更新に最適です。
文書全体ではなく、特定のページのテキストだけを置き換えることはできますか?
はい、IronPDFはReplaceTextOnPage()メソッドを提供し、特定のページをテキスト置換の対象とすることができます。これにより、どのページが変更されるかを正確に制御でき、複数ページのドキュメントを選択的に更新するのに理想的です。
置き換えたいテキストがPDFにない場合はどうなりますか?
IronPDFは置換するテキストを見つけることができない場合、テキストが見つからなかったことを示す明確なエラーメッセージとともに例外を発生させます。これは、検索テキストが文書内に存在しない可能性がある場合の処理に役立ちます。
改行文字を含むテキストの置換は可能ですか?
はい、IronPDFのテキスト置換機能は改行文字を完全にサポートしています。古いテキストを組み込みの改行を含む新しい文字列に置き換えることができ、複数行のコンテンツでも適切なドキュメントの書式と構造を維持できます。
HTMLから作成したPDFでテキスト置換を使用できますか?
もちろんです!IronPDFのテキスト置換はHTML変換から生成されたPDFでシームレスに機能します。HTMLからPDFを作成した場合でも、既存のドキュメントを取り込んだ場合でも、ReplaceTextOnAllPages()メソッドは同じように機能します。
PDFにテキスト置換を実装する主な手順は?
IronPDFでは5つの簡単なステップで翻訳が完了します:まず、ライブラリをダウンロードしてインストールします。次に、PDF文書をレンダリングまたはインポートします。三番目に、ドキュメント全体の変更のためにReplaceTextOnAllPages()を使用します。第四に、オプションでページ番号を指定して対象を置換します。最後に、SaveAs()を使って編集したPDFを保存します。

