如何替换 PDF 中的文本

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

作者:Curtis Chau

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

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

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

第一步:
green arrow pointer

替换文本示例

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

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

alt文本

代码

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 方法可以让开发人员指定用哪些页面替换文本。 下面是完整的参数列表。

请注意
由于 PageSelection 类是静态的,您无需创建新实例即可使用其方法。

页面索引从0开始。

  • allPages:一种选择 PDF 所有页面的方法。
  • firstPage:选择 PDF 第一页的方法。
  • lastPage:选择 PDF 最后一页的方法。
  • 页面范围(int startIndex, int endIndex):获取 startIndex 和 endIndex 的方法,用于选择页数。 例如,将startIndex = 0endIndex = 2选中第 1 页至第 3 页。
  • 页面范围(列表page列表):指定选择哪些页面的方法; 在上例中,如果列表只包含整数 0 和 2,则该方法只选择第一页和第三页,跳过第二页。
  • 单页(int pageIndex):指定 PDF 单页的方法。