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

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

によって チャクニット・ビン

PDF内のテキストを置き換える機能は、誤字の修正や情報の更新、またはさまざまな目的のためにテンプレートをカスタマイズするなど、迅速かつ正確なコンテンツ編集に非常に役立ちます。 これは、頻繁な改訂や個別調整が必要な文書を扱う際に、時間と労力を大幅に節約することができます。

IronPDFは、PDF内のテキストを置換する機能を提供します。 この機能により、IronPDFはPDFコンテンツの自動化やカスタマイズを必要とする開発者や専門家にとって非常に貴重なツールとなります。

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



テキスト置換の例

「テキストの置換」アクションは、新しくレンダリングされたかインポートされたかに関わらず、任意のPdfDocumentオブジェクトに適用できます。 ReplaceTextOnAllPages メソッドを使用して、置換するための古いテキストと新しいテキストの両方を指定できます。 メソッドが指定された古いテキストを見つけられない場合、「テキスト置換中のエラー:テキスト '.NET6' の検索に失敗しました」というメッセージとともに例外が発生します。

以下のコード例では、'.NET6'というテキストを含む新しくレンダリングされた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")
VB   C#

指定されたページのテキストを置き換える

ドキュメント内のテキストをより正確に置換するために、IronPDFはニーズに応じて、単一ページまたは複数ページのテキストを置換するオプションも提供しています。 特定のページのテキストを置換するには ReplaceTextOnPage メソッドを使用できますし、ドキュメントの複数の指定されたページでテキストを置換するには ReplaceTextOnPages メソッドを使用できます。

ヒント
すべてのページインデックスはゼロベースのインデックスを使用します。

単一ページ内のテキストを置換

: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")
VB   C#

複数ページのテキストを置き換える

: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")
VB   C#

PDFを出力


カスタムフォントを使用する

同じReplaceTextOnPageメソッドは、カスタムフォントとサイズを使用することもできます。まず、フォントをPDFに追加した後、フォント名をメソッドのパラメータとして渡すことができます。 次の例では、私はPixelify Sans フォント.

単一ページ内のテキストを置換

: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");
pdf.Fonts.Add(fontByte);

// Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, "PixelifySans-Regular", 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")
pdf.Fonts.Add(fontByte)

' Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, "PixelifySans-Regular", 24)

pdf.SaveAs("replaceCustomText.pdf")
VB   C#

結果

カスタムフォントを使用
Chaknith related to 結果

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。