如何在 PDF 中替換文字 | IronPDF

如何使用 C# 替換 PDF 中的文字

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

使用 IronPDF 的簡易 API 透過 C# 替換 PDF 中的文字——若要進行全文件範圍的變更,請使用 ReplaceTextOnAllPages();若要針對特定頁面進行變更,請使用 ReplaceTextOnPage()。 這使 .NET 應用程式能夠實現自動修正、範本自訂以及動態內容更新。

快速入門:使用 IronPDF 替換 PDF 中的文字

立即使用 IronPDF 輕鬆替換 PDF 文件中的文字。 只需幾行程式碼,您就能快速更新或自訂文件。 此範例示範如何在 PDF 的所有頁面中替換文字。 只需載入您的 PDF 檔案,指定要搜尋和替換的文字,然後儲存更新後的文件即可。 IronPDF 非常適合用於修正模板中的錯字或更新資訊,能讓您在 C# 中無縫地進行文字替換。 深入閱讀本指南,提升您在 .NET 環境中的 PDF 處理效率。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 請複製並執行此程式碼片段。

    IronPdf.PdfDocument.FromFile("example.pdf")
        .ReplaceTextOnAllPages("old text", "new text")
        .SaveAs("updated.pdf");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPDF

    arrow pointer


如何在 PDF 中替換文字?

replace text 動作可套用至任何 PdfDocument 物件,無論是新渲染或匯入的物件皆可。 請使用 ReplaceTextOnAllPages 方法,同時提供舊文字與新文字以進行替換。 若該方法無法找到指定的舊文字,則會拋出例外,並顯示訊息"替換文字時發生錯誤:找不到文字 '.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")
$vbLabelText   $csharpLabel

在應用程式中實作文字替換時,您或許也想考慮為 PDF 檔案添加頁首與頁尾,或套用自訂浮水印,以強化文件的品牌識別與辨識度。

如何將文字替換為換行符?

"替換文字"操作支援換行字元,讓您能將舊文字替換為包含內建換行符號的新字串,以獲得更好的格式與視覺清晰度。 當您需要維持正確的文件結構,或處理多行文字內容時,此功能至關重要。 為達成此目標,請在新字串中加入換行字元 (\n)。 請參照上述範例,將 newText 替換為 .NET7\nnewline,而非僅替換為 .NET7。 此方法可與 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")
$vbLabelText   $csharpLabel

此單頁替換功能可與其他頁面特定操作完美整合,例如添加頁碼,或當您需要分割 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")
$vbLabelText   $csharpLabel

處理多頁文件時,請考慮在文字替換操作後實施 PDF 壓縮以優化檔案大小,特別是在處理大型文件或批次處理情境時。


如何在替換文字時使用自訂字型?

ReplaceTextOnPage 方法也允許您使用自訂字型和字型大小。首先,將字型加入 PDF 檔案中,然後將字型名稱作為參數傳遞給該方法。 在以下範例中,我使用 Pixelify Sans 字型。 在維持品牌一致性,或處理國際語言及 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")
$vbLabelText   $csharpLabel
顯示自 .NET 6 遷移至 .NET 7 時自訂字型使用情況的比較圖(附向下箭頭)

進階文字替換情境

除了基本的文字替換功能外,IronPDF 還提供強大的功能,可應對複雜的應用情境。 在處理範本或動態文件時,請將文字替換功能與其他功能結合使用,例如加蓋文字與圖片,或添加數位簽章。 對於需要批次處理的應用,請在實作文字替換功能時,同步整合非同步與多執行緒功能,以優化同時處理多個 PDF 檔案時的效能。 這在文件處理量至關重要的Enterprise環境中尤為實用。 在替換敏感資訊時,請善用 IronPDF 的遮蔽功能來永久移除機密資料,以確保符合資料保護法規。

常見問題

如何使用 C# 替換 PDF 所有頁面中的文字?

透過 IronPDF,您可以使用 ReplaceTextOnAllPages() 方法輕鬆地在所有頁面中替換文字。只需載入您的 PDF 文件,傳入舊文字和新文字參數來呼叫此方法,然後儲存更新後的文件即可。此功能非常適合批次修正和範本更新。

我可以只替換特定頁面的文字,而不是整個文件嗎?

是的,IronPDF 提供了 ReplaceTextOnPage() 方法,讓您能夠針對特定頁面進行文字替換。這使您能精確控制要修改的頁面,非常適合用於多頁文件的選擇性更新。

如果 PDF 中找不到我要替換的文字,該怎麼辦?

當 IronPDF 無法找到指定要替換的文字時,會拋出例外並顯示明確的錯誤訊息,指出該文字未被找到。這有助於您處理文件中可能不存在搜尋文字的情況。

能否替換包含換行字元的文字?

是的,IronPDF 的文字替換功能完全支援換行字元。您可以將舊文字替換為包含內建換行符號的新字串,從而維持多行內容的正確文件格式與結構。

我可以在由 HTML 建立的 PDF 檔案上使用文字替換功能嗎?

當然可以!IronPDF 的文字替換功能在由 HTML 轉換生成的 PDF 檔案上運作順暢無礙。無論您是從 HTML 建立 PDF,還是匯入現有文件,ReplaceTextOnAllPages() 方法的功能皆完全相同。

在 PDF 中執行文字替換的主要步驟有哪些?

using IronPDF 的流程包含五個簡單步驟:首先,下載並安裝該函式庫。其次,渲染或匯入您的 PDF 文件。第三,使用 ReplaceTextOnAllPages() 進行全文件範圍的修改。第四,可選擇指定頁碼以進行針對性替換。最後,使用 SaveAs() 儲存編輯後的 PDF 文件。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。