使用C#代碼在Word文檔中添加或刪除可編輯區(qū)域
引言
在 Word 文檔中添加可編輯區(qū)域的功能,可以幫助用戶指定某些部分供他人編輯,同時保護文檔的其他部分不被意外修改。這在協(xié)作文檔、文檔審閱和添加評論等場景中尤其有用。另一方面,刪除可編輯區(qū)域的功能,則可以在特定部分不再需要編輯時,將文檔恢復為只讀狀態(tài),從而確保文檔內(nèi)容的完整性和安全性。本文將介紹如何在 C# 項目中使用 Spire.Doc for .NET 在 Word 文檔中添加或刪除可編輯區(qū)域。
安裝 Spire.Doc for .NET
首先,您需要將 Spire.Doc for .NET 包中包含的 DLL 文件添加為 .NET 項目的引用。這些 DLL 文件可以通過以下鏈接下載,或者通過 NuGet 進行安裝。
PM> Install-Package Spire.Doc
在 C# 中向 Word 文檔添加可編輯區(qū)域
在 Word 文檔中添加可編輯區(qū)域的步驟包括:在文檔中插入 PermissionStart 和 PermissionEnd 對象,并將文檔設(shè)置為只讀保護模式,以確保指定區(qū)域內(nèi)的內(nèi)容可編輯,而文檔的其他部分保持只讀。
示例代碼如下:
using Spire.Doc;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個新的文檔對象
Document document = new Document();
//從指定路徑加載文檔
document.LoadFromFile("Sample1.docx");
//獲取文檔的第一個節(jié)
Section section = document.Sections[0];
//創(chuàng)建一個權(quán)限開始對象
PermissionStart permissionStart = new PermissionStart(document, "restricted1");
//創(chuàng)建一個權(quán)限結(jié)束對象
PermissionEnd permissionEnd = new PermissionEnd(document, "restricted1");
//獲取該節(jié)中的第二段
Paragraph paragraph = section.Paragraphs[1];
//在段落開頭插入權(quán)限開始對象
paragraph.ChildObjects.Insert(0, permissionStart);
//在段落末尾添加權(quán)限結(jié)束對象
paragraph.ChildObjects.Add(permissionEnd);
//將文檔設(shè)置為只讀保護
document.Protect(ProtectionType.AllowOnlyReading, "123456");
//將修改后的文檔保存到指定路徑
document.SaveToFile("AddedEditingPermissionsArea.docx", FileFormat.Docx);
//關(guān)閉文檔并釋放文檔對象占用的資源
document.Close();
document.Dispose();
}
}
}在 C# 中刪除 Word 文檔中的可編輯區(qū)域
從 Word 文檔中刪除可編輯區(qū)域的關(guān)鍵步驟包括:遍歷文檔中的每個段落,并移除其中的 PermissionStart 和 PermissionEnd 對象。
示例代碼如下:
using Spire.Doc;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個新的文檔對象
Document document = new Document();
//從指定路徑加載文檔
document.LoadFromFile("Sample2.docx");
//遍歷文檔的各個節(jié)
for (int a = 0; a < document.Sections.Count; a++)
{
//獲取當前節(jié)的正文
Body body = document.Sections[a].Body;
//遍歷正文中的子對象
for (int i = 0; i < body.ChildObjects.Count; i++)
{
//檢查子對象是否為段落
if (body.ChildObjects[i] is Paragraph)
{
//獲取當前段落
Paragraph paragraph = (Paragraph)body.ChildObjects[i];
//從段落的最后一個子對象開始向前遍歷
for (int j = paragraph.ChildObjects.Count - 1; j >= 0; j--)
{
//獲取當前子對象
DocumentObject documentObject = paragraph.ChildObjects[j];
//如果是權(quán)限開始對象,移除它
if (documentObject.DocumentObjectType == DocumentObjectType.PermissionStart)
{
paragraph.ChildObjects.RemoveAt(j);
}
//如果是權(quán)限結(jié)束對象,移除它
else if (documentObject.DocumentObjectType == DocumentObjectType.PermissionEnd)
{
paragraph.ChildObjects.RemoveAt(j);
}
}
}
}
}
//將修改后的文檔保存到指定路徑
document.SaveToFile("RemovedEditingPermissionsArea.docx", FileFormat.Docx);
//關(guān)閉文檔并釋放文檔對象占用的資源
document.Close();
document.Dispose();
}
}
}申請臨時許可證
如果您想從生成的文檔中移除評估消息,或解除功能限制,可以聯(lián)系官方銷售申請一個 30 天的試用許可證。
到此這篇關(guān)于使用C#代碼在Word文檔中添加或刪除可編輯區(qū)域的文章就介紹到這了,更多相關(guān)C# Word添加或刪除可編輯區(qū)域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c#中WinForm使用OpencvSharp4實現(xiàn)簡易抓邊
本文主要介紹了c#中WinForm使用OpencvSharp4實現(xiàn)簡易抓邊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05
WinForm實現(xiàn)最小化到系統(tǒng)托盤方法實例詳解
這篇文章主要介紹了WinForm實現(xiàn)最小化到系統(tǒng)托盤方法,實例分析了C#中實現(xiàn)WinForm最小化到系統(tǒng)托盤所需的相關(guān)控件與使用技巧,需要的朋友可以參考下2015-05-05
C#中靜態(tài)構(gòu)造函數(shù)的幾點說明介紹
本篇文章主要是對C#中靜態(tài)構(gòu)造函數(shù)的幾點說明進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01

