如何使用 GroupDocs.Editor for .NET 保護文件

在當今快速變化的數位環境中,如何保護文件 同時仍能編輯其內容是開發人員常見的挑戰。無論是更新合約、移除過時的表單欄位,或在分享之前為 Word 檔案加入保護,GroupDocs.Editor for .NET 為您提供乾淨、程式化的解決方案。本指南將逐步說明載入 Word 文件、編輯(包括 刪除多個表單欄位)、套用保護,最後儲存結果——所有程式碼皆可直接複製到您的專案中。

快速解答

  • 什麼是保護 Word 文件的主要方式? 使用 WordProcessingProtection 搭配所需的 WordProcessingProtectionType
  • 我可以編輯受保護的文件嗎? 可以——透過 WordProcessingLoadOptions 使用正確的密碼載入。
  • 如何一次刪除多個表單欄位? 呼叫 FormFieldManager.RemoveFormFields 並傳入欄位陣列。
  • 支援哪些 .NET 版本? 同時完整支援 .NET Framework (4.6+) 與 .NET Core / .NET 5+。
  • 生產環境是否需要授權? 需要有效的 GroupDocs.Editor 授權才能於生產環境使用。

GroupDocs.Editor 中的文件保護是什麼?

文件保護會限制使用者對 Word 檔案的操作——例如僅允許編輯表單欄位、加入評論,或完全禁止任何變更。GroupDocs.Editor 讓您以程式方式設定這些限制,確保文件安全,同時在需要的地方仍可編輯。

為什麼在 .NET 中使用 GroupDocs.Editor 編輯 Word 文件?

  • 完整控制 載入、編輯與儲存,無需安裝 Microsoft Office。
  • 內建支援 密碼保護檔案、記憶體最佳化操作與批次處理。
  • 無縫整合 現有的 .NET 應用程式、Web 服務與雲端工作流程。

前置條件

開始之前,請確保您已具備以下項目:

  • GroupDocs.Editor NuGet 套件(最新版本)。
  • .NET 開發環境(Visual Studio、VS Code 或您偏好的任何 IDE)。
  • 基本的 C# 知識與 Word 表單欄位的使用經驗。

必要函式庫

  • GroupDocs.Editor – 核心編輯函式庫。
  • .NET Framework 或 .NET Core – 皆受支援。

環境設定

  • 具備可讀取來源文件與寫入編輯後輸出的資料夾存取權限。
  • 可選:從 GroupDocs 取得的試用或永久授權金鑰。

設定 GroupDocs.Editor for .NET

使用您偏好的方式安裝函式庫:

.NET CLI

dotnet add package GroupDocs.Editor

Package Manager Console

Install-Package GroupDocs.Editor

NuGet 套件管理員 UI
搜尋 “GroupDocs.Editor” 並安裝最新版本。

取得授權步驟

  • 免費試用 – 無需信用卡即可開始探索。
  • 臨時授權 – 在試用期結束後延長測試。
  • 購買 – 取得完整授權以供生產環境部署。

基本初始化

在您的 C# 檔案中加入命名空間:

using GroupDocs.Editor;

實作指南

以下說明核心工作流程:載入文件、編輯(包括 刪除多個表單欄位)、套用保護,並儲存結果。

載入與編輯文件

步驟 1:載入文件

string inputFilePath = "YOUR_DOCUMENT_DIRECTORY";
using (FileStream fs = File.OpenRead(inputFilePath))
{
    WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
    loadOptions.Password = "some_password_to_open_a_document";

    using (Editor editor = new Editor(fs, loadOptions))
    {
        // Proceed with editing
    }
}

說明: WordProcessingLoadOptions 允許您在來源檔案受保護時指定密碼。Editor 實例是所有後續操作的入口點。

步驟 2:移除單一表單欄位

FormFieldManager fieldManager = editor.FormFieldManager;
FormFieldCollection collection = fieldManager.FormFieldCollection;

// Remove a specific text form field
TextFormField textField = collection.GetFormField<TextFormField>("Text1");
fieldManager.RemoveFormFiled(textField);

說明: FormFieldManager 讓您存取所有表單欄位。透過欄位名稱("Text1")取得欄位後,即可使用 RemoveFormFiled 刪除它。

刪除多個表單欄位

步驟 3:一次呼叫移除多個欄位

using (Editor editor = new Editor(fs, null))
{
    FormFieldManager fieldManager = editor.FormFieldManager;
    FormFieldCollection collection = fieldManager.FormFieldCollection;

    TextFormField textField = collection.GetFormField<TextFormField>("Text7");
    CheckBoxForm checkBoxForm = collection.GetFormField<CheckBoxForm>("Check2");

    fieldManager.RemoveFormFields(new IFormField[] { textField, checkBoxForm });
}

說明: 此程式碼示範如何同時移除文字欄位與核取方塊,比逐一刪除更有效率。

保護並儲存文件

步驟 4:套用保護並儲存

string outputFilePath = "YOUR_OUTPUT_DIRECTORY";
using (Editor editor = new Editor("YOUR_DOCUMENT_DIRECTORY", null))
{
    WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
    saveOptions.OptimizeMemoryUsage = true;
    saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.AllowOnlyFormFields, "write_password");

    using (MemoryStream outputStream = new MemoryStream())
    {
        editor.Save(outputStream, saveOptions);
        File.WriteAllBytes(outputFilePath, outputStream.ToArray());
    }
}

說明: WordProcessingSaveOptions 允許您為大型檔案開啟 OptimizeMemoryUsage,並設定保護類型。在此範例中,我們僅允許編輯表單欄位,並以寫入密碼保護檔案。

實務應用

  1. 自動化文件更新 – 在重新發佈模板前移除舊的表單欄位。
  2. 安全資料處理 – 保護機密段落,同時允許使用者填寫必要欄位。
  3. CRM 整合 – 在 CRM 工作流程中即時產生與編輯合約文件。

效能考量

  • 當處理大於 10 MB 的檔案時,啟用 OptimizeMemoryUsage
  • 及時釋放 FileStreamMemoryStream 物件(上述的 using 陳述式已處理)。
  • 保持 GroupDocs.Editor 為最新版本,以獲得效能修補與新格式支援。

常見問題與疑難排解

症狀可能原因解決方法
“Password required” exception載入選項缺少密碼WordProcessingLoadOptions.Password 中提供正確的密碼。
Form field not found欄位名稱錯誤或大小寫敏感確認來源文件中的欄位名稱正確(使用 Word 的「開發人員」標籤)。
Out‑of‑memory on large filesOptimizeMemoryUsage 未啟用saveOptions.OptimizeMemoryUsage = true 設為 true,或將文件分段處理。

常見問答

Q: GroupDocs.Editor 是否相容所有 Word 格式?
A: 是的。它支援 DOCX、DOC、RTF、ODT,甚至基於 PDF 的 Word 檔案。

Q: 如何有效處理大型文件?
A: 在 WordProcessingSaveOptions 中使用 OptimizeMemoryUsage 標誌,並始終在 using 區塊內使用串流。

Q: 我可以將 GroupDocs.Editor 整合至其他系統,如 CRM 或 ERP 嗎?
A: 當然可以。此函式庫是標準的 .NET 組件,您可以在 Web API、背景服務或桌面應用程式中呼叫它。

Q: 編輯表單時若發生錯誤該怎麼辦?
A: 再次確認您引用的欄位名稱與文件中的一致,並確保文件未被其他程序鎖定。

Q: GroupDocs.Editor 是否支援密碼保護的文件?
A: 支援。開啟檔案時,透過 WordProcessingLoadOptions.Password 提供密碼。

資源


最後更新: 2026-04-26
測試版本: GroupDocs.Editor 23.10 for .NET
作者: GroupDocs