使用 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。

取得授權步驟

  1. 免費試用 – 下載試用版以體驗核心功能。
  2. 臨時授權 – 申請臨時金鑰以完整測試功能。
  3. 購買 – 取得商業授權以供正式使用。

基本初始化與設定

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)— 常見使用情境

  1. 資料匿名化(Java) – 在分享資料集前,剔除包含個人識別資訊的審閱者評論。
  2. 法律文件遮蔽 – 自動刪除可能洩漏機密資訊的內部備註。
  3. 批次處理流水線 – 將上述步驟整合至 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


其他資源

相關教學