Java 移除 PDF 密碼與 GroupDocs.Search

在現代企業應用程式中,java remove pdf password 是確保機密檔案可搜尋而不暴露其內容的關鍵。本教學將帶領您建立可搜尋索引、將密碼儲存在索引字典中,並在大量文件上執行快速搜尋。完成後,您將能將安全、支援密碼的搜尋整合至任何基於 Java 的文件管理系統。

快速解答

  • 「remove document password」是什麼意思? 它指的是直接在搜尋索引中儲存與取得受保護檔案的密碼。
  • 我可以索引受密碼保護的檔案嗎? 可以——在索引之前將密碼加入索引字典。
  • 一次可以搜尋多少文件? GroupDocs.Search 能在單一查詢中搜尋多個文件。
  • 生產環境需要授權嗎? 生產使用需購買授權;可使用免費試用版進行評估。
  • 需要哪個 Java 版本? JDK 8 或更高版本。

什麼是「remove document password」?

remove document password 功能將密碼儲存在搜尋索引內,使引擎在索引與查詢時能自動開啟受保護檔案,免除每次手動輸入密碼。透過以檔案路徑為鍵的密碼字典,程式庫會即時解密每個文件,確保完整文字可被搜尋,同時原始加密檔案保持不變。

為何在此任務中使用 GroupDocs.Search?

GroupDocs.Search 內建密碼字典,具備高吞吐量的索引功能,能在標準伺服器上每分鐘處理超過 10,000 份文件,並提供支援布林、模糊與通配符搜尋的豐富查詢語言,涵蓋超過 50 種檔案格式。此外,它還支援增量索引、平行處理與強大的安全控制,十分適合必須處理受保護內容的大規模企業級搜尋解決方案。

先決條件

  • JDK 8+ 已安裝。
  • Maven 用於相依管理。
  • 基本的 Java 知識(檔案處理、類別)。

設定 GroupDocs.Search for Java

Add the repository and dependency to your pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

您也可以直接從官方發行頁面下載程式庫:GroupDocs.Search for Java releases。

定義:GroupDocs.Search

GroupDocs.Search 是一個 Java 程式庫,可建立可搜尋的索引、儲存諸如密碼等中繼資料,並對多種文件類型執行快速的全文查詢。

如何在 Java 中移除 PDF 密碼?

載入目標 PDF,將其密碼加入索引字典,然後呼叫 index.add(...)。index.add(...) 會將文件加入搜尋索引,並使用已儲存的密碼在索引時解密它。 這個單一流程消除後續搜尋時手動輸入密碼的需求。當字典中存在密碼時,程式庫會自動解密檔案。

1. 定義索引資料夾並建立索引

import com.groupdocs.search.Index;

public class SearchSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index";
        Index index = new Index(indexFolder);
        
        System.out.println("Index created at: " + indexFolder);
    }
}

2. 清除現有密碼(如有)

String indexFolder = "YOUR_DOCUMENT_DIRECTORY/Index";
Index index = new Index(indexFolder);

3. 為特定文件新增密碼

if (index.getDictionaries().getDocumentPasswords().getCount() > 0) {
    index.getDictionaries().getDocumentPasswords().clear();
}

4. 取得並移除密碼

String documentPath = new File("YOUR_DOCUMENT_DIRECTORY/English.docx").getAbsolutePath();
index.getDictionaries().getDocumentPasswords().add(documentPath, "123456");

5. 為多個文件新增密碼

if (index.getDictionaries().getDocumentPasswords().contains(documentPath)) {
    String retrievedPassword = index.getDictionaries().getDocumentPasswords().getPassword(documentPath);
    index.getDictionaries().getDocumentPasswords().remove(documentPath);
}

如何使用密碼索引文件?

在加入每個受保護檔案之前先提供密碼給索引;引擎會即時解密它們,使內容能像未受保護的文件一樣被索引。先行提供密碼字典可確保不會因加密而跳過任何文件。

index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/English.docx", "123456");
index.getDictionaries().getDocumentPasswords().add("YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx", "123456");

如何在多個文件中搜尋?

對索引執行單一查詢;GroupDocs.Search 會掃描所有已索引的檔案——無論是 PDF、Word、Excel 或影像——並回傳帶有檔案路徑的匹配結果,讓您即時在大型儲存庫中定位資訊。搜尋引擎亦會依相關性排序結果並標示匹配的詞彙,方便快速找出所需的精確資料。

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);

使用 GroupDocs.Search 的增量索引(Java)

GroupDocs.Search 支援incremental indexing java,讓您能在現有索引中加入新檔或已更新的檔案,而無需重新建置。移除或更新文件密碼後,只需呼叫 index.add(newDocumentPath) 即可追加變更。

實務應用

  • 企業文件管理 – 安全且可搜尋的檔案庫。
  • 內容管理平台 – 快速取得受保護資產。
  • 法律文件儲存庫 – 在保持機密性的同時提供全文搜尋。

效能考量

  • 平行索引 – 使用多執行緒處理大型批次,在 16 核心機器上可達 12 GB/分鐘 的處理速度。
  • 記憶體監控 – 在大量匯入時監控 JVM 堆積;視需要增加 -Xmx。
  • 定期索引維護 – 當檔案變更或密碼更新時重新索引,以確保搜尋結果的準確性。

常見問題與解決方案

IssueSolution
未套用密碼確保在呼叫 index.add(...) 之前已將密碼加入字典。
記憶體不足錯誤增加 JVM 堆積 (-Xmx2g) 或以較小的批次大小啟用平行索引。
搜尋未返回結果確認文件已成功索引,且查詢語法正確。
無法移除密碼確認加入密碼時使用的檔案路徑正確;路徑必須完全相符。

結論

您現在已了解如何使用 GroupDocs.Search java remove pdf password,建立穩健的索引,並執行強大的search across multiple documents。將這些步驟整合,可為任何 Java 應用程式提供安全、快速且具擴充性的搜尋體驗。

下一步

  • 嘗試進階查詢運算子(通配符、模糊搜尋)。
  • 探索即時更新的增量索引。
  • 結合其他 GroupDocs 產品以進行 PDF 轉換或註解。

常見問答

Q: 我可以索引大量文件嗎?
A: 是的,GroupDocs.Search 設計用於高效處理龐大集合,每小時可處理數萬個檔案。

Q: 是否可以使用新文件更新現有索引?
A: 當然可以!您可以使用增量索引依需求新增或移除索引中的文件。

Q: 我如何確保索引資料的安全性?
A: 使用密碼字典安全儲存密碼,並將索引資料夾設為受限存取權限。

Q: GroupDocs.Search 能處理不同的檔案格式嗎?
A: 可以,它支援 PDF、Word 檔、Excel 工作表、PowerPoint 簡報以及許多其他常見格式——總計超過 50 種。

Q: 若在索引期間遇到效能問題該怎麼辦?
A: 可考慮啟用平行處理、增加堆積大小,或調整索引設定,如批次大小與執行緒數量。

Q: incremental indexing java 能與已包含密碼的現有索引一起使用嗎?
A: 可以——只需在字典中新增或更新密碼,並對新檔案呼叫 index.add(...)。

最後更新: 2026-08-05
測試環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs

資源

String searchQuery = "ipsum OR increasing";
SearchResult searchResult = index.search(searchQuery);

相關教學