如何替换 PDF 中的文本

查克尼特·宾
查克尼特·宾
2024年九月17日
更新 2024年十二月15日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

在 PDF 中交换文本非常方便,可以快速、准确地编辑内容。 它非常适合修改错别字、刷新信息或根据特定需求定制模板。 这一功能非常节省时间,尤其是对于需要频繁更新或个性化润色的文档。

IronPDF 为 PDF 提供文本替换功能,使其成为开发人员和专业人员寻求自动化或定制 PDF 内容不可或缺的工具。

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer

替换文本示例

要替换文本,我们可以简单地调用replaceText方法。 该方法需要三个参数:第一个是PageSelection,用于指定页面; 第二个是表示旧文本的字符串; 第三个是新文本。 在下面的示例中,我们将调用PageSelection.firstPage方法,该方法检索PDF的第一页。 我们将把所有".NET6 "替换为".NET7"。

如果该方法无法找到指定的旧文本,您将遇到运行时异常。

替代文本

代码

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");

        String oldText = ".NET6";
        String newText = ".NET7";

        // Replace text
        pdf.replaceText(PageSelection.firstPage(), oldText, newText);
        pdf.saveAs("replaceText.pdf");
    }
}
JAVA

提示
所有页面索引都采用基于零的索引方式。

输出 PDF


替换多个页面上的文本

我们使用相同的replaceText方法替换多页上的文本。 但这次,我们调用 PageSelection 类中的 pageRange 方法,并输入一个整数数组来指定我们只想替换第一页和第三页的文本。

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        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>";

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        String oldText = ".NET6";
        String newText = ".NET7";
        // Replace text on page 1 & 3
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace text
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
JAVA

输出 PDF


探索 PageSelection 类

与上述示例类似,使用Pageselection方法允许开发人员指定要替换文本的页面。 下面是完整的参数列表。

[{i:(由于PageSelection类是静态的,您不需要创建新实例即可使用其方法。]

页面索引从0开始。

  • allPages:一种选择PDF所有页面的方法。
  • firstPage: 选择PDF第一页的方法。
  • lastPage:选择 PDF 最后一页的方法。
  • pageRange​(int startIndex, int endIndex):一个方法,接收startIndex和endIndex,这个方法选择页面数。 例如,设置startIndex = 0endIndex = 2可以选择第 1 到 3 页。
  • pageRange​(ListpageList):一个指定选择哪些页面的方法; 在上例中,如果列表只包含整数 0 和 2,则该方法只选择第一页和第三页,跳过第二页。
  • singlePage​(int pageIndex):指定 PDF 单个页面的方法。  
查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。