模板被廣泛用於通過用相應的值替換模板鍵來生成個性化文檔。本文介紹如何在 Java 中查找和替換 PDF 文檔中的文本和單詞。我們將分別討論如何執行單詞和短語搜索、區分大小寫的單詞搜索、使用正則表達式替換找到的文本。最後,我們將學習如何使用 Java 隱藏文本的搜索部分。
下面將涵蓋以下主題:
用於替換文本的 Java Redaction API
GroupDocs 提供了用於應用各種類型的編輯的 Java API。它允許編輯、隱藏或刪除應用程序中文檔、演示文稿、電子表格、PDF 文件和圖像的內容甚至元數據。有關 API 的更多詳細信息,請訪問其 文檔。
下載或配置
您可以從 下載部分 下載 JAR 文件,或者只獲取基於 maven 的 Java 應用程序的 pom.xml 的最新存儲庫和依賴項配置。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>21.12</version>
</dependency>
好處之一是無需安裝任何 PDF 編輯器或任何其他用於 PDF 編輯的第三方軟件。以下是以下示例中用於編輯的 PDF 文檔的內容。相同的方法適用於其他文檔格式,源代碼幾乎沒有任何區別。
在 Java 中查找和替換 PDF 中的單詞或短語
您可以使用此功能隱藏任何私人數據,還可以從任何模板創建新的自定義文檔。以下步驟解釋瞭如何在 PDF 文檔中查找任何單詞/短語並將其替換為 Java 應用程序中的一些其他文本。
- 使用 Redactor 類加載 PDF 文件。
- 使用 ExactPhraseRedaction 和 [ReplacementOptions](https://apireference.groupdocs. com/redaction/java/com.groupdocs.redaction.redactions/ReplacementOptions)。
- 使用 apply() 方法應用密文。
- 使用 save() 方法保存包含更改的新文檔。
以下代碼使用 Java 查找並替換 PDF 文件中的單詞。更準確地說,它通過用單詞“[censored]”替換它來隱藏所有出現的“John Doe”。
// 在 PDF 中查找確切的短語並使用 Java 將其替換為其他文本
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// 將編輯後的文件以不同的名稱保存在不同的位置。
FileOutputStream stream = new FileOutputStream("path/exactPhrase.pdf");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);
上述代碼的輸出如下。
使用 Java 在 PDF 中查找和替換區分大小寫的文本或短語
您可以執行區分大小寫的搜索和編輯。以下代碼使用 Java 替換 PDF 文檔中區分大小寫的單詞“John Doe”而不是“john doe”。
// 在 PDF 中查找確切的短語(區分大小寫)並使用 Java 將其替換為其他文本
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();
代碼的輸出如下。
用 Java 中的正則表達式 (RegEx) 替換 PDF 中的文本
同樣,您可以使用正則表達式替換任何特定的文本模式。以下步驟允許您在 Java 應用程序中使用正則表達式 (RegEx) 搜索後編輯 PDF。
- 使用 Redactor 類加載 PDF 文檔。
- 使用帶有 ReplacementOptions。
- 使用 apply() 方法將更改應用於文檔。
- 使用適當的 save() 方法保存編輯文檔。
下面的 Java 代碼展示瞭如何使用 RegEx 在 PDF 文檔中找到特定的文本模式,然後用其他文本替換/隱藏它。
// 使用正則表達式在 PDF 中查找文本並使用 Java 將其替換為其他文本
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();
上述代碼的輸出如下。
用 Java 中的彩色框替換文本
如果您只是想將搜索到的機密信息隱藏在您的 PDF 文件中,您可以簡單地在上面蓋上一個封面。 API 允許您隱藏搜索到的文本。以下代碼將黑色矩形放置在 Java 中提到的私有文本上。
// 在 PDF 中查找文本並通過使用 Java 在其上繪製矩形來隱藏它
final Redactor redactor = new Redactor("path/document.pdf");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();
上述代碼的輸出如下。
獲取免費的 API 許可證
您可以 獲得免費的臨時許可證 以便在不受評估限制的情況下使用 API。
結論
總而言之,我們學習瞭如何使用不同的搜索技術在 PDF 文件中查找特定文本。後來我們通過替換或隱藏 Java 應用程序中的文本來編輯 PDF 文件。更準確地說,我們對單詞、短語進行了簡單搜索,搜索時區分大小寫,並使用 Java 中的 RegEx。最後,我們用其他文本或簡單地用顏色將其隱藏來更改搜索結果。
有關 API 的更多詳細信息,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。