使用 GroupDocs.Editor for Java 保存帶密碼的 Word
在本教學中,您將了解在 Java 中編輯 Word 文件時,如何使用 保存帶密碼的 Word 保護。無論您需要 edit word document java 檔案、使用密碼保護它們,或將 DOCX 轉換為 DOCM 格式,GroupDocs.Editor 都提供乾淨且記憶體效率高的解決方案。讓我們一步步完成整個流程——從設定函式庫、載入受密碼保護的檔案、客製化編輯選項,到最終安全地儲存文件。
快速回答
- 什麼函式庫可以在 Java 中編輯 Word 文件? GroupDocs.Editor for Java。
- 我可以開啟受密碼保護的檔案嗎? 可以——使用
WordProcessingLoadOptions並提供密碼。 - 如何在儲存時減少記憶體使用? 在
WordProcessingSaveOptions中設定optimizeMemoryUsage(true)。 - 生產環境需要授權嗎? 需要有效的 GroupDocs.Editor 授權。
- 哪種格式支援巨集與唯讀保護? DOCM 格式。
- 如何在編輯時提取嵌入字型? 使用
FontExtractionOptions.ExtractEmbeddedWithoutSystem。 - 編輯後可以將 DOCX 轉換為 DOCM 嗎? 可以——在儲存時指定
WordProcessingFormats.Docm。
什麼是「保存帶密碼的 Word」?
將 Word 檔案以密碼保存表示文件已加密,只有知道密碼的使用者才能開啟。這為機密內容提供額外的安全層,特別是當檔案以電子方式存儲或傳輸時。
為什麼使用 GroupDocs.Editor for Java?
GroupDocs.Editor for Java 提供完整的 Word 文件編輯工具,支援密碼保護、巨集處理與高效記憶體使用,適合企業與雲端應用。它可無縫整合至 Maven 專案,提供格式轉換,並包含字型提取與分頁模式等進階功能,以提升使用者體驗。
- 完整功能編輯 – 修改文字、圖片、表格,甚至巨集。
- 密碼處理 – 輕鬆開啟與儲存受保護的檔案。
- 記憶體優化選項 – 適用於大型文件或雲端環境。
- 跨平台 – 可在任何相容 Java 的平台上運行(Java 8+)。
- 量化效益: GroupDocs.Editor 支援 30+ 種檔案格式,且可編輯最高 500 MB 的文件而不需將整個檔案載入記憶體,將峰值 RAM 使用量降低至 70 %。
前置條件
在開始之前,請確保您對 Java 程式設計有扎實的了解。熟悉 Maven 專案設定與 Java 的檔案 I/O 操作將有助於本教學。另外,請確保開發環境已設定為 Java 8 或更高版本,以便與 GroupDocs.Editor 無縫配合。
必要的函式庫與相依性
本教學將使用 GroupDocs.Editor 函式庫。請使用 Maven 將其加入您的專案:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/editor/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-editor</artifactId>
<version>25.3</version>
</dependency>
</dependencies>
或者,您也可以直接從 GroupDocs.Editor for Java releases 下載函式庫。
取得授權
若要完整使用 GroupDocs.Editor 而不受評估限制,建議取得免費試用或購買授權。您可透過 此連結 取得臨時授權,以深入體驗功能。
設定 GroupDocs.Editor for Java
安裝 GroupDocs.Editor 後,即可開始初始化與設定您的環境:
- 新增 Maven 相依性或依上述說明下載 JAR 檔案。
- 在您喜愛的 IDE(例如 IntelliJ IDEA、Eclipse)中建立基本的專案結構。
- 若使用 Maven,請確保
pom.xml包含必要的儲存庫。
完成上述步驟後,您即可開始使用 GroupDocs.Editor 實作文件管理功能。
實作指南
我們將流程分為三個主要部分:文件載入與密碼處理、文件編輯選項,以及內容編輯與儲存。讓我們逐步探索每個功能。
功能 1:文件載入與密碼處理
概述: 本節示範如何使用 GroupDocs.Editor for Java 載入受密碼保護的文件。在處理需要存取控制的敏感文件時,此步驟相當重要。
步驟 1:定義文件路徑
首先,指定您的 Word 文件所在位置:
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
步驟 2:建立 InputStream
接著,為讀取文件初始化檔案輸入串流:
InputStream fs = new FileInputStream(inputFilePath);
步驟 3:設定帶密碼的載入選項
WordProcessingLoadOptions 定義 Word 文件的載入方式,包含密碼處理與格式設定。
若要處理受密碼保護的文件,請設定載入選項:
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.setPassword("some_password_to_open_a_document");
步驟 4:使用 Editor 載入文件
Editor 為核心類別,使用指定的選項載入、編輯與儲存文件。
最後,使用 Editor 類別開啟並處理文件:
Editor editor = new Editor(fs, loadOptions);
功能 2:文件編輯選項
概述: 設定如字型提取與語言資訊等編輯選項,可提升文件處理能力。
步驟 1:建立編輯選項
首先初始化您的編輯選項物件:
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
步驟 2:啟用字型提取
FontExtractionOptions 控制編輯期間如何處理嵌入字型,允許在不依賴系統字型的情況下提取。
為確保使用嵌入字型,請設定以下選項:
editOptions.setFontExtraction(FontExtractionOptions.ExtractEmbeddedWithoutSystem);
步驟 3:提取語言資訊
啟用語言資訊對於多語言文件處理很有幫助:
editOptions.setEnableLanguageInformation(true);
步驟 4:啟用分頁模式
為了更方便編輯,特別是長文件,請開啟分頁模式:
editOptions.setEnablePagination(true);
功能 3:內容編輯與文件儲存
概述: 本節說明如何修改文件內容,並使用特定設定(如格式與密碼保護)保存帶密碼的 Word。
步驟 1:提取原始內容
首先提取原始內容與資源:
String originalContent = beforeEdit.getContent();
List<IHtmlResource> allResources = beforeEdit.getAllResources();
步驟 2:修改文件內容
根據需要變更文件文字。此處將 “document” 替換為 “edited document”:
String editedContent = originalContent.replace("document", "edited document");
EditableDocument afterEdit = EditableDocument.fromMarkup(editedContent, allResources);
步驟 3:設定儲存選項
WordProcessingSaveOptions 指定 Word 文件的儲存參數,如格式、密碼保護與記憶體最佳化。
設定文件的儲存方式,包括格式與密碼:
WordProcessingFormats docmFormat = WordProcessingFormats.Docm;
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(docmFormat);
saveOptions.setPassword("password");
saveOptions.setEnablePagination(true);
saveOptions.setLocale(Locale.US);
saveOptions.setOptimizeMemoryUsage(true);
saveOptions.setProtection(new WordProcessingProtection(WordProcessingProtectionType.ReadOnly, "write_password"));
步驟 4:儲存編輯後的文件
最後,將編輯後的文件寫入輸出檔案:
String outputPath = "YOUR_OUTPUT_DIRECTORY/edited_output.docm";
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
editor.save(afterEdit, outputStream, saveOptions);
try (FileOutputStream outputFile = new FileOutputStream(outputPath)) {
outputStream.writeTo(outputFile);
}
如何開啟受保護的 Word 檔案?
透過建立 WordProcessingLoadOptions 實例、呼叫 setPassword("yourPassword"),再將其傳入 Editor 建構子,即可載入受保護的檔案。此簡易方式會在記憶體中解密文件,讓您在不將明文密碼寫入磁碟的情況下編輯或轉換它。
如何在儲存時設定密碼?
建立 WordProcessingSaveOptions 物件,呼叫 setPassword("newPassword"),並可選擇啟用 setReadOnlyRecommended(true) 以提供額外保護。接著以這些選項呼叫 Editor 實例的 save 方法。檔案將以 AES‑256 加密寫入,確保高強度安全性。設定密碼後,您亦可設定其他安全選項,如唯讀建議、限制編輯或強制加密標準。這些設定可確保儲存的檔案符合組織的合規需求。
編輯後如何將 DOCX 轉換為 DOCM?
在 WordProcessingSaveOptions 中指定 WordProcessingFormats.Docm,即可將編輯後的 DOCX 轉換為支援巨集的 DOCM 檔案。此方式會保留任何現有的 VBA 巨集,確保其在 Office 中仍可運作。您亦可定義輸出位置,並套用與原文件相同的密碼或唯讀設定。WordProcessingFormats 列舉了支援的輸出格式,如 DOCX 與 DOCM,用於儲存文件。
常見使用情境
- 安全文件處理: 在編輯機密合約或人事檔案時使用密碼保護。
- 批次處理: 在企業文件管理系統中自動編輯數十個檔案。
- 內容審閱工作流程: 讓審閱者在最終批准前直接在 Word 檔案中編輯與評論。
效能考量
為確保使用 GroupDocs.Editor 時的最佳效能:
- 最小化記憶體使用:保持
optimizeMemoryUsage(true)為啟用狀態。 - 將大型檔案分塊處理,而非一次載入整個文件至記憶體。
- 定期升級至最新的 GroupDocs.Editor 版本,以獲得效能提升與錯誤修正。
- 量化聲明: 在啟用記憶體最佳化的情況下,最新版本可在標準 8 核心伺服器上於 2 秒 內處理 300 頁的 DOCX。
常見問與答
Q: 如何開啟受密碼保護的文件?
A: 使用 WordProcessingLoadOptions,在建立 Editor 實例前呼叫 setPassword("your_password")。
Q: 我可以編輯包含巨集的 DOCM 檔案嗎?
A: 可以。使用 WordProcessingFormats.Docm 儲存編輯後的文件,以保留巨集。
Q: 減少儲存大型檔案時的記憶體消耗的最佳方法是什麼?
A: 在 WordProcessingSaveOptions 中啟用 optimizeMemoryUsage(true),並考慮使用分頁模式。
Q: 編輯時能提取嵌入字型嗎?
A: 當然可以。設定 editOptions.setFontExtraction(FontExtractionOptions.ExtractEmbeddedWithoutSystem)。
Q: 在生產環境使用 GroupDocs.Editor 是否需要特殊授權?
A: 生產部署需要有效的 GroupDocs.Editor 授權;可取得臨時授權以進行評估。
Q: 編輯後如何將 DOCX 轉換為 DOCM?
A: 在建立 WordProcessingSaveOptions 時指定 WordProcessingFormats.Docm(如儲存步驟所示)。
結論
本指南說明了在 Java 中編輯 Word 文件時,如何保存帶密碼的 Word 保護。您學會了載入受密碼保護的檔案、客製化編輯選項(如提取嵌入字型),以及最終將文件以唯讀保護與最佳化記憶體使用的方式儲存為 DOCM。將 GroupDocs.Editor 整合至您的 Java 應用程式,即可打造安全且高效的文件處理解決方案,滿足現代商業需求。
最後更新: 2026-07-20
測試版本: GroupDocs.Editor 25.3
作者: GroupDocs