How to Replace Text in a PDF

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

在PDF中替换文本的功能对于快速和准确地编辑内容非常有用,例如纠正错别字、更新信息或定制不同用途的模板。 这可以节省大量时间和精力,特别是在处理需要频繁修改或个性化的文档时。

IronPDF 提供用于替换 PDF 中文本的功能。 这个功能使 IronPDF 成为需要自动化或定制 PDF 内容的开发人员和专业人员不可或缺的工具。

快速入门:使用 IronPDF 替换 PDF 中的文本

使用 IronPDF 轻松开始替换 PDF 中的文本。 只需几行代码,您就可以快速更新或定制您的文档。 此示例演示如何替换 PDF 所有页面上的文本。 只需加载您的 PDF,指定要查找和替换的文本,并保存更新后的文档。 IronPDF 使 C# 中的文本替换成为无缝体验,非常适合纠正错别字或更新模板中的信息。 深入了解本指南,在 .NET 环境中提升您的 PDF 处理效率。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronPdf.PdfDocument.FromFile("example.pdf")
        .ReplaceTextOnAllPages("old text", "new text")
        .SaveAs("updated.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小工作流程(5 步)

  1. 下载 IronPDF C# 库
  2. 渲染一个新的 PDF 或导入现有的 PDF 文档
  3. 使用 ReplaceTextOnAllPages 方法替换整个文档中的文本
  4. 指定页面编号以进行目标文本替换
  5. 导出已编辑的 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")
$vbLabelText   $csharpLabel

用换行符替换文本

替换文本操作支持换行符,允许您用包括内置换行符的新字符串替换旧文本,以实现更好的格式和视觉清晰度。

为此,请在新字符串中添加换行符(\n)。 使用上述示例,我们将 newText 替换为 .NET7\nnewline 而不是仅仅 .NET7

<hr

在指定页面上替换文本

为了更准确地在文档中替换文本,IronPDF 还提供了根据您的需求在单个页面或多个页面上替换文本的选项。 您可以使用 ReplaceTextOnPage 方法在特定页面上替换文本,使用 ReplaceTextOnPages 方法在文档的多个指定页面上替换文本。

{t:(所有页面索引均采用基于零的索引。

在单个页面上替换文本

: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

在多个页面上替换文本

: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 文件

<hr

使用自定义字体

同一个 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");
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

结果

class="content-img-align-center">
class="center-image-wrapper"> Use custom font

常见问题解答

如何使用C#在PDF中替换文本?

您可以通过使用IronPDF的ReplaceTextOnAllPages方法替换整个文档中的文本。如果需要在特定页面上替换文本,请使用ReplaceTextOnPageReplaceTextOnPages方法。

我可以在PDF中用新内容替换文本,其中包括换行符吗?

是的,IronPDF支持用包含换行符的新内容替换文本。您可以在替换文本中包含换行符,以改善PDF文档的格式和清晰度。

如果在替换过程中未找到我指定的文本,我该怎么办?

如果ReplaceTextOnAllPages方法找不到指定的旧文本,将抛出一个异常,指示错误信息。确保您要替换的文本已正确指定并存在于文档中。

在PDF中替换文本时可以使用自定义字体吗?

是的,您可以在使用IronPDF替换PDF中的文本时使用自定义字体。首先,将所需的字体添加到PDF中,然后在ReplaceTextOnPage方法中指定字体名称作为参数。

在哪里可以下载用于PDF文本替换的IronPDF库?

您可以从NuGet包管理器下载IronPDF C#库,网址为https://www.nuget.org/packages/IronPdf/。

文本替换后编辑过的PDF将保存为哪种格式?

使用IronPDF替换PDF中的文本后,可以使用SaveAs方法将修改后的文档保存为标准的PDF格式。

如何在PDF中的多个特定页面上替换文本?

要在PDF中的多个特定页面上替换文本,请使用IronPDF的ReplaceTextOnPages方法。这允许您使用基于零的页面索引指定文本应替换的页面。

使用查找和替换文本功能时,IronPDF 是否与 .NET 10 完全兼容?

是的。IronPDF 完全兼容 .NET 10,其查找和替换文本功能(例如ReplaceTextOnAllPagesReplaceTextOnPage及相关方法)在 .NET 10 项目中可以无缝运行,无需任何变通方法。([ironpdf.com](https://ironpdf.com/blog/net-help/net-10-features/?utm_source=openai))

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布