以程式方式編輯 Word 文件(使用 GroupDocs.Editor for .NET)
如果你是一位需要 以程式方式編輯 Word 文件 的 .NET 開發人員——無論是取代文字、轉換格式,或將結果嵌入串流——GroupDocs.Editor for .NET 是一個功能強大、易於使用的函式庫,能完成這項工作。在本教學中,我們將示範一個實務範例,涵蓋載入 DOCX 檔案、編輯內容、將結果轉換為 RTF,並儲存至磁碟或記憶體串流。
快速答覆
- 我可以編輯什麼? Word、PDF、HTML、RTF 以及其他多種格式。
- 我可以取代文字嗎? 是 — 使用簡單的字串取代或更進階的 DOM 操作。
- 如何將 PDF 轉換為可編輯的? 使用
Editor載入 PDF,並編輯產生的 HTML。 - 將檔案儲存至串流的最簡單方法是什麼? 使用
editor.Save(editableDoc, stream, options)。 - 我需要授權嗎? 在正式環境中需要臨時或完整授權。
什麼是以程式方式編輯 Word 文件?
以程式方式編輯 Word 文件是指使用程式碼—而非使用者介面—來開啟檔案、變更其內容(文字、圖片、樣式),並將修改後的版本寫回儲存空間。此方式可支援自動化報告、大量文件更新以及自訂內容產生。
為什麼使用 GroupDocs.Editor for .NET?
- 格式彈性: 載入 DOCX、PDF、HTML、RTF 等,並儲存為任何支援的格式。
- 無需 Office 依賴: 在伺服器上不需安裝 Microsoft Office 即可運作。
- 支援串流: 適用於雲端情境,您可以從串流讀寫,而非檔案系統。
- 功能豐富的 API: 可存取圖片、字型、CSS 及其他資源,以實現完整功能的編輯。
前置條件
在開始實作之前,請確保您已具備以下條件:
- Visual Studio 2017 或更新版本。
- .NET Framework 4.6.1 或更新版本。
- GroupDocs.Editor for .NET – 您可以從網站下載。
- 有效的授權或來自 GroupDocs 的臨時授權。
匯入命名空間
要開始使用 GroupDocs.Editor for .NET,請匯入所需的命名空間:
using System;
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
在以下各節中,我們會將工作流程拆解成小步驟,讓您輕鬆跟隨。
步驟 1:取得輸入檔案的路徑
指定您想編輯的 Word 檔案位置。此範例假設有一個名為 Your Sample Document.docx 的 DOCX 檔案。
string inputFilePath = "Your Sample Document.docx";
步驟 2:實例化 Editor 物件
透過傳入輸入路徑建立 Editor 實例。此操作會載入文件並為編輯做準備。
using (GroupDocs.Editor.Editor editor = new Editor(inputFilePath))
{
// Subsequent steps will be nested inside this block
}
步驟 3:開啟文件以供編輯
取得 EditableDocument,以取得文件的 HTML 表示形式及其資源。
EditableDocument beforeEdit = editor.Edit();
步驟 4:取得文件內容與資源
您可以提取原始 HTML、圖片、字型與 CSS。當需要直接操作標記時,此功能相當有用。
string content = beforeEdit.GetContent();
var images = beforeEdit.Images;
var fonts = beforeEdit.Fonts;
var stylesheets = beforeEdit.Css;
步驟 4.1:以單一 Base64 編碼字串取得文件
如果您偏好單一字串包含所有嵌入資源,請呼叫 GetEmbeddedHtml()。
string allEmbeddedInsideString = beforeEdit.GetEmbeddedHtml();
步驟 4.2:編輯內容
讓我們將 Subtitle 替換為 Edited subtitle,示範簡單的文字取代。
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
步驟 5:建立新的 EditableDocument 實例
編輯完標記後,將其重新包裝成 EditableDocument 物件。
EditableDocument afterEdit = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null);
步驟 6:儲存已編輯的文件
我們將結果儲存為 RTF 檔案,示範檔案系統路徑與記憶體串流兩種方式。
步驟 6.1:準備輸出路徑
定義 RTF 應寫入的位置。
string outputPath = Path.Combine("Output Directory Path", Path.GetFileNameWithoutExtension(inputFilePath) + ".rtf");
步驟 6.2:準備儲存選項
透過 WordProcessingSaveOptions 選擇 RTF 格式。
Options.WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Rtf);
步驟 6.3:儲存至路徑
將已編輯的文件寫入檔案系統。
editor.Save(afterEdit, outputPath, saveOptions);
步驟 6.4:儲存至串流
如果需要將結果保留在記憶體中(例如上傳至雲端儲存),請使用 MemoryStream。
using (MemoryStream ms = new MemoryStream())
{
editor.Save(afterEdit, ms, saveOptions);
}
步驟 7:釋放 Editor 與 EditableDocument 實例
及時釋放資源,以避免記憶體洩漏。
beforeEdit.Dispose();
afterEdit.Dispose();
editor.Dispose();
常見使用情境與技巧
- 將 PDF 轉換為可編輯: 使用
Editor載入 PDF,編輯產生的 HTML,然後儲存回 PDF 或其他格式。 - 在文件中取代文字: 在簡單情況下使用
string.Replace,在複雜情況下操作 DOM。 - 將 Word 轉換為 RTF: 如上所示,在儲存選項中設定
WordProcessingFormats.Rtf。 - 將文件儲存至串流: 適用於直接將檔案回傳給客戶端的 Web API。
- 載入文件以供編輯: 請始終將
Editor包於using區塊中,以確保正確釋放。
常見問題
問:我可以使用 GroupDocs.Editor for .NET 編輯 PDF 檔案嗎?
答:可以,GroupDocs.Editor 透過將 PDF 轉換為中介的 HTML 表示形式來支援編輯。
問:如何取得 GroupDocs.Editor for .NET 的臨時授權?
答:您可從GroupDocs 網站取得臨時授權。
問:GroupDocs.Editor for .NET 支援哪些檔案格式?
答:支援 DOCX、PDF、HTML、RTF 以及其他多種格式。
問:是否可以將 GroupDocs.Editor 與雲端儲存整合?
答:當然可以——您可以從 Azure Blob、Amazon S3、Google Cloud Storage 等讀寫串流。
問:在哪裡可以找到 GroupDocs.Editor for .NET 的文件說明?
答:文件說明可在此處取得。
最後更新: 2026-04-11
測試環境: GroupDocs.Editor 23.12 for .NET
作者: GroupDocs