如何替換 PDF 中的文字
替換 PDF 中的文字功能對於快速且精確地編輯內容非常有用,例如更正打字錯誤、更新資訊或為不同的目的自訂範本。 這可以節省大量的時間和努力,特別是在處理需要經常修改或個性化的文件時。
IronPDF 提供了一項在 PDF 中替換文字的功能。 此功能使IronPDF成為開發者和專業人士自動化或自定義PDF內容時不可或缺的工具。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
如何替換 PDF 中的文字
- 下載 IronPDF C# 函式庫
- 渲染新的 PDF 或匯入現有的 PDF 文件
- 使用
ReplaceTextOnAllPages
方法替換整個檔案中的文字 - 指定頁面號碼以進行目標文字替換
- 匯出編輯後的 PDF 文件
替換文字範例
"替換文字"動作可以應用於任何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")
用換行符替換文本
替換文字操作支援換行符號,讓您可以用包含內建換行的字串取代舊文字,以便更好的格式化和視覺清晰度。
要實現這一點,請在新字串中加入換行符號(\n)
。 使用上面的範例,我們將newText
替換為.NET7\nnewline
而不是僅替換為.NET7.
在指定頁面上替換文字
為了在文件中更精確地替換文字,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")
替換多頁上的文本
: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")
輸出 PDF
使用自定義字體
相同的ReplaceTextOnPage
方法還允許您使用自定義字體和大小。首先,需要將字體添加到PDF中,然後您可以將字體名稱作為參數傳遞給該方法。 在以下範例中,我將使用Pixelify Sans Font。
: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")
結果
