如何替換 PDF 中的文字

查克尼思·賓
查克尼思·賓
2024年9月17日
已更新 2024年12月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 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。