如何在 PDF 中替換文本 | IronPDF

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

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

使用 C# 與 IronPDF 簡單的 API 來取代 PDF 中的文字 - 使用 ReplaceTextOnAllPages() 來做整個文件的變更,或使用 ReplaceTextOnPage() 來做特定頁面的變更。 這可在 .NET 應用程式中實現自動修正、範本自訂和動態內容更新。

快速入門:使用 IronPDF 取代 PDF 中的文字

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

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

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

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer


如何取代 PDF 中的文字?

取代文字"動作可應用於任何 PdfDocument 物件,不論是新渲染或匯入的。 使用 ReplaceTextOnAllPages 方法,提供新舊文字以進行取代。 如果該方法無法找到指定的舊文字,則會產生異常,訊息為 'Error while replacing text: failed to find text '.NET6'.

下面的程式碼範例示範如何取代新渲染的 PDF 文件中包含文字".NET6"的文字。 此功能在處理 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");
$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");
$vbLabelText   $csharpLabel

此單一頁面更換功能可與其他特定頁面作業完美整合,例如 加入頁碼,或當您需要 分割 PDFs 以進行目標內容修改時。

如何替換多頁上的文字?

: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");
$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");
$vbLabelText   $csharpLabel
從 .NET 6 遷移到 .NET 7 的自訂字型使用比較圖,向下箭頭

進階文字取代情境

除了基本的文字替換功能之外,IronPDF 還能針對複雜的情況提供強大的功能。 在使用範本或動態文件時,請將文字替換與其他功能結合,例如標示文字和影像加入數位簽章。 對於需要進行批次處理的應用程式,可在 async 和多執行緒 功能的同時實施文字替換,以便在同時處理多個 PDF 時優化效能。 這在文件吞吐量極為重要的企業環境中特別有用。 更換敏感資訊時,請探索 IronPDF 的 redaction 功能,以永久移除機密資料,確保符合資料保護規定。

常見問題解答

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

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

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

是的,IronPDF 提供了 ReplaceTextOnPage() 方法,允許您針對特定頁面進行文字替換。這可讓您精確控制哪些頁面被修改,非常適合多頁文件的選擇性更新。

如果我想要取代的文字在 PDF 中找不到,該怎麼辦?

當 IronPDF 無法找到要取代的指定文字時,會產生異常,並顯示清楚的錯誤訊息,說明未找到該文字。這有助於您處理搜尋到的文字可能不存在於文件中的情況。

是否可以取代包含換行符的文字?

是的,IronPDF 的替换文本功能完全支持换行符。您可以使用包含內建換行字元的新字串取代舊文字,維持多行內容的適當文件格式與結構。

我可以在由 HTML 建立的 PDF 上使用文字取代嗎?

絕對可以IronPDF 的文字替換功能可在 HTML 轉換產生的 PDF 上無縫運作。無論您是從 HTML 建立 PDF,或是匯入現有的文件,ReplaceTextOnAllPages() 方法的功能都是一樣的。

在 PDF 中實現文字替換的主要步驟是什麼?

使用 IronPDF 的過程包含五個簡單步驟:首先,下載並安裝函式庫。第二,渲染或匯入您的 PDF 文件。第三,使用 ReplaceTextOnAllPages() 進行文件範圍的變更。第四,選擇性地指定針對性更換的頁碼。最後,使用 SaveAs() 儲存編輯後的 PDF。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 17,570,948 | 版本: 2026.2 剛剛發布