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

Chaknith related to PDFでテキストを置換する方法
チャクニット・ビン
2023年10月8日
更新済み 2025年2月11日
共有:
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");

テキストを改行に置換

置換テキストアクションは改行文字をサポートしており、古いテキストを新しい文字列に置き換える際、より良いフォーマットと視覚的な明瞭さのために組み込みの改行を含めることができます。

これを実現するには、新しい文字列に改行文字 (\n)を追加します。 上記の例を使用して、newText.NET7.の代わりに.NET7\nnewlineに置き換えます。


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

ドキュメント内のテキストをより正確に置換するために、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");

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

: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");

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

// Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24);

pdf.SaveAs("replaceCustomText.pdf");

結果

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