如何使用 GroupDocs.Watermark Java 載入受密碼保護的 Word 文件並添加水印
在現代商業工作流程中,您常常需要 載入受密碼保護的 Word 檔案、編輯它們,並在分享前套用品牌水印。本教學將帶您完整了解使用 GroupDocs.Watermark Java 的全過程,從設定函式庫到儲存加了水印的文件。
快速答覆
- GroupDocs.Watermark 能開啟加密的 Word 檔案嗎? 是的,只需透過
WordProcessingLoadOptions提供密碼。 - 開發時需要授權嗎? 免費試用授權可用於評估;正式上線需購買正式授權。
- 需要哪個 Maven 坐標?
com.groupdocs:groupdocs-watermark:24.11(或更新版本)。 - 可以批次處理多個受保護的文件嗎? 當然可以——在迴圈中為每個檔案建立
Watermarker實例。 - 支援哪些 Java 版本? Java 8 及以上。
什麼是「載入受密碼保護的 Word」?
載入受密碼保護的 Word 文件指的是開啟已使用密碼加密的 .docx 檔案,於記憶體中解密後,再執行如添加水印等操作。若未提供正確密碼,檔案將無法存取。
為何使用 GroupDocs.Watermark Java?
GroupDocs.Watermark Java 提供簡易的 API 以處理各種文件格式,包含加密的 Word 檔案。它抽象化底層細節,讓您僅用幾行程式碼即可加入文字或圖片水印,且即使面對大型文件亦能保持高效能。
前置條件
- Java 8+(IntelliJ IDEA、Eclipse,或您偏好的任何 IDE)
- 已安裝 Maven 以管理相依性
- 取得 GroupDocs.Watermark Java 授權(試用或付費)
- 一個受密碼保護的 Word 文件以供測試
設定 GroupDocs.Watermark for Java
Maven 設定
將以下儲存庫與相依性加入您的 pom.xml 檔案:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/watermark/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>24.11</version>
</dependency>
</dependencies>
直接下載
如果您偏好手動設定,請從官方來源下載最新的 JAR 檔案:GroupDocs.Watermark for Java releases。
取得授權步驟
- 免費試用 – 取得臨時授權以探索全部功能。
- 購買 – 取得正式授權以在生產環境無限制使用。
如何載入受密碼保護的 Word 文件
步驟 1:匯入必要的套件
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.WordProcessingLoadOptions;
步驟 2:使用密碼設定載入選項
String filePath = "YOUR_DOCUMENT_DIRECTORY/protected-document.docx"; // Replace with your document path.
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.setPassword("P@$$w0rd"); // Set the correct password here.
setPassword 呼叫告訴 GroupDocs.Watermark 如何解密檔案,以便您進行後續操作。
步驟 3:初始化 Watermarker
Watermarker watermarker = new Watermarker(filePath, loadOptions);
建立 Watermarker 實例即可完整掌控文件內容與水印。
步驟 4:加入文字水印
import com.groupdocs.watermark.watermarks.Font;
import com.groupdocs.watermark.watermarks.TextWatermark;
TextWatermark watermark = new TextWatermark("Test watermark", new Font("Arial", 12));
watermarker.add(watermark);
此處我們建立簡易的文字水印。您可以自訂字型、大小、顏色、旋轉角度與放置位置。
步驟 5:儲存與關閉
String outputFilePath = "YOUR_OUTPUT_DIRECTORY/protected-document.docx";
watermarker.save(outputFilePath);
watermarker.close();
儲存會將新水印寫入全新檔案,關閉則釋放所有原生資源。
常見問題與解決方案
- 密碼錯誤 – 請與文件擁有者確認密碼;密碼不符會拋出
WrongPasswordException。 - 檔案路徑問題 – 使用絕對路徑或確保工作目錄指向正確的資料夾。
- 缺少 Maven 相依性 – 再次確認
<repositories>與<dependencies>區段;執行mvn clean install以刷新本機快取。
實務應用
- 法律事務所 – 在與客戶分享案件檔案前加入機密水印。
- 教育機構 – 透過水印保護講義,同時允許學生檢視內容。
- 企業 – 為內部報告加上企業品牌水印,即使檔案受密碼保護亦能確保安全。
效能建議
- 在載入前縮小文件大小 以降低記憶體使用量。
- 僅在處理單一文件時重複使用 Watermarker 實例;在批次情境下為每個檔案建立新實例。
- 及時關閉資源 (
watermarker.close()) 以避免記憶體洩漏。
常見問答
Q: GroupDocs.Watermark 能處理其他受保護的格式嗎(例如 PDF)?
A: 可以,函式庫支援使用各自的載入選項類別來處理受密碼保護的 PDF、簡報與試算表。
Q: 若未提供密碼就嘗試載入文件會發生什麼事?
A: 函式庫會拋出 WrongPasswordException。當檔案被加密時,務必在 WordProcessingLoadOptions 中設定密碼。
Q: 可以加入圖片水印而非文字嗎?
A: 當然可以。使用 ImageWatermark 類別,並指定圖片路徑、透明度與放置位置。
Q: 如何移除先前加入的水印?
A: 透過 watermarker.getWatermarks() 取得水印物件,然後呼叫 watermarker.remove(watermark)。
Q: API 是否支援多語言文件?
A: 支援,完整支援 Unicode 字元,允許在任何語言的文件上添加水印。
資源
最後更新: 2025-12-23
測試版本: GroupDocs.Watermark 24.11 for Java
作者: GroupDocs