使用 GroupDocs.Redaction 移除 PDF 註解(Java)
如果您曾經需要在 移除 PDF 註解(Java)‑端從 PDF、Word 檔或 Excel 工作表中刪除註解,您就會知道手動清理有多耗時。幸運的是,GroupDocs.Redaction for Java 為您提供程式化的方式,只需幾行程式碼即可剔除不需要的註記、評論或標記。在本指南中,我們將逐步說明所有必要步驟——從設定 Maven 依賴到套用正則表達式過濾,只刪除您目標的註解。
快速解答
- 哪個函式庫負責註解刪除? GroupDocs.Redaction for Java.
- 哪個關鍵字會觸發刪除? 您自行定義的正則表達式模式(例如
(?im:(use|show|describe)))。 - 我需要授權嗎? 試用版可用於評估;正式環境需購買商業授權。
- 我可以以新檔名儲存清理後的檔案嗎? 可以——使用
SaveOptions.setAddSuffix(true)。 - Maven 是唯一的加入方式嗎? 不是,您也可以直接下載 JAR。
在 Java 中「移除 PDF 註解(Java)」是什麼意思?
移除 PDF 註解(Java) 指的是使用 Java 程式碼以程式化方式定位並刪除文件中的標記物件(評論、突顯、便利貼)。此方法非常適合資料匿名化、法律文件遮蔽,或任何需要乾淨、可直接分享的檔案而不需手動編輯的工作流程。
為何使用 GroupDocs.Redaction 進行註解移除?
GroupDocs.Redaction 讓您能精確刪除註解,同時高效處理大量批次。它支援 30 多種輸入與輸出格式——包括 PDF、DOCX、XLSX、PPTX、HTML 以及常見影像類型——讓您無需切換函式庫即可處理各式檔案。此函式庫在標準伺服器上可於 2 秒內處理 200 頁的 PDF,兼具速度與合規性。
前置條件
- Java JDK 1.8 或更新版本。
- 如 IntelliJ IDEA 或 Eclipse 等 IDE。
- 基本的正則表達式知識。
Maven 依賴設定(GroupDocs)
將 GroupDocs 倉庫與 Redaction 套件加入您的 pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/redaction/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-redaction</artifactId>
<version>24.9</version>
</dependency>
</dependencies>
直接下載(備選)
如果您不想使用 Maven,可從官方頁面取得最新的 JAR: GroupDocs.Redaction for Java releases。
取得授權步驟
- 免費試用 – 下載試用版以體驗核心功能。
- 臨時授權 – 申請臨時金鑰以完整測試功能。
- 購買 – 取得商業授權以供正式使用。
基本初始化與設定
Redactor 是代表文件並提供所有遮蔽操作的核心類別。以下程式碼片段示範如何建立 Redactor 實例並設定基本的儲存選項:
import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.SaveOptions;
public class InitializeRedaction {
public static void main(String[] args) throws Exception {
// Load the document using Redactor
final Redactor redactor = new Redactor("path/to/your/document");
try {
// Perform your redaction operations here
// Save options can be customized as needed
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAddSuffix(true); // Example option: Add suffix to filename
// Save the modified document
redactor.save(saveOptions, "path/to/output/document");
} finally {
redactor.close(); // Always close resources to prevent memory leaks
}
}
}
步驟說明:刪除註解
步驟 1:載入文件
Redactor 會將來源檔案載入記憶體並為遮蔽做準備。建立實例後,您即可查詢或修改文件中任何存在的註解。
final Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/ANNOTATED_XLSX");
步驟 2:套用正則表達式註解移除
DeleteAnnotationRedaction 為移除文字符合指定正則表達式之註解的操作。模式 (?im:(use|show|describe)) 為不分大小寫(i)且多行模式(m),會匹配任何包含 use、show 或 describe 的註解。
redactor.apply(new DeleteAnnotationRedaction("(?im:(use|show|describe))"));
步驟 3:設定儲存選項
SaveOptions 控制遮蔽後檔案的寫入方式。設定 setAddSuffix(true) 會自動在檔名後加上 “_redacted”,以保留原始檔案供稽核使用。
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAddSuffix(true); // Append a suffix to the output filename
saveOptions.setRasterizeToPDF(false); // Do not convert to PDF format
步驟 4:儲存並釋放資源
呼叫 redactor.save() 會寫入清理後的檔案,而 redactor.close() 釋放本機記憶體。正確關閉實例可防止長時間服務的記憶體泄漏。
redactor.save(saveOptions, "YOUR_OUTPUT_DIRECTORY/RedactedDocument");
redactor.close(); // Always close the Redactor instance
故障排除提示
- 確認您的正則表達式確實匹配欲刪除的註解文字。
- 如果
save呼叫拋出IOException,請再次檢查檔案系統權限。
移除註解(Java)— 常見使用情境
- 資料匿名化(Java) – 在分享資料集前,剔除包含個人識別資訊的審閱者評論。
- 法律文件遮蔽 – 自動刪除可能洩漏機密資訊的內部備註。
- 批次處理流水線 – 將上述步驟整合至 CI/CD 工作,以即時清理產生的報告。
儲存遮蔽文件 — 最佳實踐
- 加上後綴 (
setAddSuffix(true)) 以保留原始檔案,同時明確標示為遮蔽版本。 - 避免光柵化,除非您需要平面化的 PDF;保留文件原生格式可維持可搜尋性。
- 立即關閉 Redactor,釋放本機記憶體,避免長時間服務的內存泄漏。
效能考量
- 最佳化正則表達式 – 複雜的模式會增加 CPU 時間,尤其在大型 PDF 上。
- 重複使用 Redactor 實例 僅在處理同類型多個文件時使用;否則每個檔案重新建立,以降低記憶體佔用。
- 效能分析 – 使用 Java 效能分析工具(如 VisualVM)找出批次操作的瓶頸。
常見問題
Q: 什麼是 GroupDocs.Redaction for Java?
A: 它是一個 Java 函式庫,可對多種文件格式的文字、元資料與註解進行遮蔽。
Q: 如何在一次執行中套用多個正則表達式?
A: 可在單一模式中使用管道符號 (|) 結合,或鏈接多個 DeleteAnnotationRedaction 呼叫。
Q: 函式庫是否支援非文字格式,如影像?
A: 是的,它可以遮蔽基於影像的 PDF 及其他光柵格式,但註解移除僅適用於支援的向量格式。
Q: 如果我的文件類型未列在支援清單中該怎麼辦?
A: 請檢查最新的 Documentation 以取得更新,或先將檔案轉換為支援的格式。
Q: 在遮蔽過程中應如何處理例外?
A: 將遮蔽邏輯包在 try‑catch 區塊中,記錄例外細節,並確保在 finally 區塊中執行 redactor.close()。
最後更新: 2026-07-01
測試環境: GroupDocs.Redaction 24.9 for Java
作者: GroupDocs