如何替換PDF中的文本

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

要使用 IronPDF for Java 更換 PDF 中的文字,請使用 replaceText 方法與 PageSelection 指定頁面,並提供新舊文字串。 這樣就能自動編輯 PDF 內容,以修正錯字、更新資訊和客製化範本。

快速入門:使用 Java 替換 PDF 中的文字

1.在您的專案中加入 IronPdf 相依性 2.建立或載入 PDF 文件 3.呼叫 pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") 4.使用 pdf.saveAs("output.pdf") 儲存修改後的 PDF。

介紹

<! -- 介紹的視覺演示 --> <!--說明:螢幕截圖或圖表 -->

IronPDF 的文字替換功能為開發人員提供強大的工具,以程式化的方式修改現有的 PDF 內容。 無論您是更新產品文件、糾正產生報告中的錯誤,或是從模板中建立個人化的文件,replaceText 方法都能提供對內容修改的精確控制。 當您使用 PDF 表單,或需要在更新特定文字元素的同時保持格式一致時,此功能尤其有價值。

!{--01001100010010010100001001010010010000010101001001011001010111110101001101010100010001010101010 10100010111110101010001010010010010010100000101001100010111110100001001001100010011111010000100100110001001111010101

如何取代單一頁面上的文字? 若要取代文字,只需呼叫 `replaceText` 方法即可。 此方法需要三個參數:`PageSelection` 指定頁面,一個字串代表舊文字,第三個參數是新文字。 在下面的範例中,`PageSelection.firstPage()` 擷取 PDF 的第一頁。 所有 `.NET6` 的實例均以 `.NET7` 取代。 如果無法找到指定的舊文本,該方法會產生運行時異常。 ![IronPDF 控制台出錯,在取代文字 '.NET7' 時顯示 Exception_RemoteException - 未找到指定文字](/static-assets/ironpdf-java/howto/find-replace-text/cannotfindtext.webp)。

replaceText 需要哪些參數? ```java :title= 取代文字範例 import com.ironsoftware.IronPdf.*; import java.io.IOException; /** * 示範如何取代 PDF 中文字的主要應用程式類別。 */ public class App { public static void main(String[] args) throws IOException { // 設定 IronPdf 授權金鑰 - 生產使用所需的金鑰 License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01"); // 將 HTML 內容渲染為 PDF // 從 HTML 內容建立新的 PDF PdfDocument pdf = PdfDocument.renderHtmlAsPdf(""); // 定義要替換的新舊文字 String oldText = ".NET6"; // 要搜尋的文字 String newText = ".NET7"; // 替換文字 // 在第一頁以 newText 取代 oldText 的所有實例 // PageSelection.firstPage() 只針對第一頁 (索引 0) pdf.replaceText(PageSelection.firstPage(), oldText, newText); // 保存生成的 PDF 文件 pdf.saveAs("replaceText.pdf"); } } ``` 所有頁面索引均採用從零開始的索引方式。 `replaceText` 方法預設執行大小寫敏感匹配。 "net6 "和 "NET6 "被視為不同的字串。 在處理 [HTML 至 PDF 的轉換](https://ironpdf.com/java/tutorials/html-to-pdf/)時,請確保您的搜尋文字與呈現的 PDF 中的文字完全相符。 若要進行更進階的文字操作,請考慮 [ 從 PDF 中萃取文字](https://ironpdf.com/java/examples/extract-text-from-pdf/),以便在替換之前驗證內容。

輸出是什麼樣子?

如何在多頁中取代文字? <!--說明:說明程式碼概念的圖表或截圖 --> 使用相同的 `replaceText` 方法取代多個頁面上的文字。 呼叫 `PageSelection` 類中的 `pageRange` 方法,並輸入整數清單以指定頁面。 以下範例僅取代第一頁和第三頁的文字。 此方法適用於在特定頁面上具有一致標題或頁尾的文件,或更新出現在 PDF 中多個位置的資訊時也很有效。

我可以針對哪些頁面進行文字取代? ```java import com.ironsoftware.IronPdf.*; import java.io.IOException; import java.util.Arrays; import java.util.List; /** * Main application class for demonstrating how to replace text on multiple pages of a PDF. */ public class App { public static void main(String[] args) throws IOException { // Set the IronPDF license key - see https://ironpdf.com/java/licensing/ License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01"); // HTML content that will be converted to a 3-page PDF // Page breaks are created using CSS page-break-after property String html = "

.NET6

" + "

This is 1st Page

" + "
" + "

This is 2nd Page

" + "
" + "

.NET6

" + "

This is 3rd Page

"; // Render the HTML content into a PDF PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // 定義要替換的新舊文字 String oldText = ".NET6"; String newText = ".NET7"; // Define the pages where text replacement should occur // Page numbers are zero-indexed: 0 = first page, 2 = third page List pages = Arrays.asList(0, 2); // Replace the text on specified pages only // The second page (index 1) will remain unchanged pdf.replaceText(PageSelection.pageRange(pages), oldText, newText); // 保存生成的 PDF 文件 pdf.saveAs("replaceTextOnMultiplePages.pdf"); } } ``` 從 HTML 建立多頁 PDF 時,瞭解 [ 自訂 PDF 頁面大小](https://ironpdf.com/java/examples/custom-pdf-paper-size/)和 [ 頁面方向設定](https://ironpdf.com/java/examples/pdf-page-orientation/),有助於在套用文字取代之前,確保內容在所有頁面上都能正確顯示。

當我在取代過程中跳過網頁時會發生什麼事?

有哪些頁面選擇選項? 使用 `PageSelection` 方法可讓開發人員指定要修改的頁面。 完整的參數清單如下。
請注意`PageSelection`類別的方法是靜態的。 不需要建立實例。 頁面索引起始於 `0`.

哪些方法針對單頁與多頁? - `allPages`: 選擇 PDF 的所有頁面 - `firstPage`: 選擇 PDF 的第一頁 - `lastPage`: 選擇 PDF 的最後一頁 - `pageRange(int startIndex, int endIndex)`: 指定頁面的範圍 (例如:`0` to `2` 選擇頁面 `1`-`3`) - `pageRange(List pageList)`:從一個列表中選擇特定的頁面(例如,`[0, 2]` 選擇頁面 `1` 和 `3`) - `singlePage(int pageIndex)`: 指定 PDF 的單一頁面。

何時應該使用每個 PageSelection 方法? 使用 `firstPage()` 或 `lastPage()` 來快速編輯文件的頁首和頁尾。 更新章節等多個連續頁面時,請選擇 `pageRange()` 。 選擇 `singlePage()` 進行有針對性的修正,並套用 `allPages()` 對整個文件進行全局性的查找和取代作業。 當使用 [merged PDFs](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/) 時,請使用 `pageRange()` 以僅更新特定來源文件的頁面。 同樣地,在處理具有 [ 書籤和大綱](https://ironpdf.com/java/how-to/bookmarks/)的文件時,應使用其頁面範圍來針對特定部分。 ## 文字替換的最佳實務 在 Java 應用程式中實作文字取代時,請考慮這些重要因素: **效能最佳化**:在應用程式啟動時載入您的授權金鑰一次,而不是在每次操作之前。 這可提高處理多份文件時的效能。 進一步瞭解如何有效使用授權金鑰。 **錯誤處理**:以 try-catch 區塊包覆文字替換作業,從容處理潛在的異常。 最常見的例外情況是找不到指定的文字。 考慮實施驗證步驟,首先從 PDF 中提取文字以驗證其存在。 **保留格式**:`replaceText`方法可保留原始的文字格式,包括字型、大小、顏色和樣式。 這使其成為更新內容的理想選擇,同時保持視覺上的一致性。 若要對格式進行更多控制,可考慮使用自訂呈現設定從 HTML 重新生成 PDF。 **處理複雜的文件**:對於包含表單的 PDF,請使用專門的方法來填寫 PDF 表單,而非使用文字取代。 這可確保表格欄位功能保持不變。 ## 常見用例 PDF 中的文字替換在不同產業中有許多實際應用: **以模板為基礎的文件生成**:建立可重複使用的 PDF 範本,其中包含可使用實際資料取代的占位符文字。 此方法適用於排版一致但內容不同的發票、合約和報告。 **批次文件更新**:同時在多個 PDF 中更新公司資訊、地址或聯絡資訊。 這在品牌重塑期間或法規資訊變更時尤其有用。 **本地化與翻譯**:取代文字內容,針對不同市場建立文件的本地化版本。 結合自訂字型支援,以確保能正確呈現各種語言的字元。 **動態內容個人化**:使用客戶特定的資訊取代占位符文字,為個別收件人個人化 PDF,為文件收件人創造更吸引人的體驗。

常見問題解答

如何使用 Java 替換 PDF 中的文字?

要使用 IronPDF for Java 替换 PDF 中的文本,请使用 replaceText 方法。只需呼叫 pdf.replaceText(PageSelection.firstPage(), "oldText", "newText"),即可在指定的頁面上用新文字取代舊文字的所有實例。IronPDF 會自動找出並取代所有出現的文字,同時保持原始格式。

replaceText 方法需要哪些參數?

IronPDF 中的 replaceText 方法需要三個參數:PageSelection 用於指定要修改的頁面、包含要尋找的文字的字串,以及包含取代文字的字串。例如,pdf.re replaceText(PageSelection.firstPage(),".NET6",".NET7")會將第一頁上所有 '.NET6「 的實例更換為 」.NET7' 。

我可以只取代特定頁面上的文字嗎?

是的,IronPDF 允許您使用 PageSelection 參數替換特定頁面上的文字。您可以對第一頁使用 PageSelection.firstPage(),對最後一頁使用 PageSelection.lastPage(),或者使用 PageSelection.pageRange() 來指定應該進行文字替換的自定義頁面範圍。

如果找不到我要取代的文字該怎麼辦?

當 IronPDF 無法找到要取代的指定文字時,會產生運行時異常 (Exception_RemoteException)。這可確保您在替換作業失敗時知道,讓您能在 Java 應用程式中適當地處理錯誤。

我可以使用此功能更新範本或修正 PDF 中的錯字嗎?

絕對可以IronPDF 的文字替換功能非常適合更新範本、修正錯字以及自訂文件。無論您是修正已產生報表中的錯誤、更新產品文件,或是從模板中建立個人化文件,replaceText 方法都能精確控制內容修改。

取代的文字是否保持原始 PDF 格式?

是的,IronPDF 的 replaceText 方法可以保持 PDF 文件的原始格式。當您取代文字時,新的內容會繼承與原始文字相同的字型、大小、顏色和樣式,確保您的文件在修改後仍能保持一致的外觀。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。

準備好開始了嗎?
版本: 2025.12 剛發表