如何在PDF中替換文字

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

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

using IronPDF 的簡單 API,在 PDF 中使用 C# 替換文字 - 使用 ReplaceTextOnAllPages() 進行文件範圍的更改或 ReplaceTextOnPage() 進行特定頁面的更改。 這可在 .NET 應用程式中實現自動更正、範本自訂及動態內容更新。

快速入門:使用 IronPDF 替換 PDF 文字 using IronPDF 輕鬆開始替換您的 PDF 中的文字。 只需幾行程式碼,您就可以快速更新或自訂文件。 此範例演示了如何替換 PDF 全部頁面的文字。 只需載入您的 PDF,指定要查找和替換的文字,然後保存更新後的文件。 IronPDF 完美應對拼寫錯誤校正或更新範本中的資訊,使 C# 的文字替換無縫流暢。 深入了解本指南,在 .NET 環境中提高您的 PDF 處理效率。

  1. 使用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

在您的應用程式中實現文字替換時,您可能還想要探索 新增頁眉和頁腳應用自定義水印 以增強文件的品牌識別和識別功能。

如何用換行替換文字?

替換文字操作支持換行符,允許您用內建新行的字串來替換舊文字,以獲得更好的格式和視覺清晰度。 當您需要維持正確的文件結構或處理多行文字內容時,這一功能必不可少。 為實現此目的,請將換行符 (\n) 新增到新字串中。 使用上面的範例,用 .NET7\nnewline 替換 newText 而不是僅用 .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 壓縮以優化文件大小,特別是在處理大型文件或批量處理場景時。


Icon Quote related to 如何在多個頁上替換文字?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 如何在多個頁上替換文字?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 如何在多個頁上替換文字?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 如何在多個頁上替換文字?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 如何在多個頁上替換文字?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 如何在多個頁上替換文字?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

替換文字時如何使用自定義字體?

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 時優化效能。 這在文件輸出至關重要的企業環境中特別有用。 替換敏感資訊時,探索 IronPDF 的刪除功能以永久刪除機密資料,確保符合資料保護法規。

常見問題

如何使用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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。