Категория

C#/VB.NET: защита или снятие защиты с документа Word

2023-09-04 07:29:49

Документы Word можно защитить различными способами, в зависимости от требований безопасности. Чтобы предотвратить открытие документа посторонними лицами, вы можете зашифруйте его паролем. Чтобы пользователи могли открывать документ, но не редактировать или изменять его содержимое, вы можете сделать документ доступным только для чтения или пометить его как окончательный. Чтобы разрешить пользователям изменять части документа, вы можете заблокировать весь документ, но оставить определенные разделы доступными для редактирования. В этой статье основное внимание уделяется тому, как защитить или снять защиту документа Word на C# и VB.NET с помощью Spire.Doc for .NET.

Установите Spire.Doc for .NET

Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.Doc for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.Doc

Защита паролем документа Word в C#, VB.NET

Шифрование документа с помощью пароля гарантирует, что только вы и определенные люди смогут его читать или редактировать. Ниже приведены шаги по защите документа Word паролем с помощью Spire.Doc for .NET.

  • Создайте объект Документ.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Зашифруйте документ паролем, используя метод Document.Encrypt().
  • Сохраните документ в другой файл Word, используя метод Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace PasswordProtectWordDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load a Word file
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\test.docx");
    
                //Encrypt the document with a password
                document.Encrypt("open-psd");
    
                //Save the document to another Word file
                document.SaveToFile("Encryption.docx", FileFormat.Docx);
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Изменение разрешения документа Word в C#, VB.NET

Документы, зашифрованные открытым паролем, не могут быть открыты теми, кто не знает пароля. Если вы хотите предоставить людям разрешение на чтение вашего документа, но ограничить типы изменений, которые кто-либо может внести, вы можете установить разрешение документа. Ниже приведены шаги по изменению разрешения документа Word с помощью Spire.Doc for .NET.

  • Создайте объект Документ.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Установите разрешение документа и установите пароль разрешения, используя метод Document.Protect().
  • Сохраните документ в другой файл Word, используя метод Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace ChangeDocumentPermission
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load a Word document
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Set the document permission and set the permission password
                document.Protect(ProtectionType.AllowOnlyFormFields, "permission-psd");
    
                //Save the document to another Word file
                document.SaveToFile("Permission.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Блокировка указанных разделов документа Word в C#, VB.NET

Защищая документ, вы можете заблокировать его части, чтобы их нельзя было изменить, а незаблокированные части оставить доступными для редактирования. Ниже приведены действия по защите определенных разделов документа Word с помощью Spire.Doc for .NET.

  • Создайте объект Документ.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Установите ограничение на редактирование как AllowOnlyFormFields.
  • Снимите защиту определенного раздела, установив для Document.Sections[index].ProtectForm значение false. Остальные разделы по-прежнему будут защищены.
  • Сохраните документ в другой файл Word, используя метод Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace ProtectSpecificSection
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Set editing restriction as "AllowOnlyFormFields"
                doc.Protect(ProtectionType.AllowOnlyFormFields, "permissionPsd");
    
                //Unprotect section 2
                doc.Sections[1].ProtectForm = false;
    
                //Save the document to another Word file
                doc.SaveToFile("ProtectSection.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Пометить документ Word как окончательный в C#, VB.NET

Помечая документ как окончательный, вы отключаете возможности ввода, редактирования и изменения формата, и любому читателю появится сообщение о том, что документ завершен. Ниже приведены шаги, позволяющие пометить документ Word как окончательный с помощью Spire.Doc for .NET.

  • Создайте объект Документ.
  • Загрузите файл Word с помощью метода Document.LoadFromFile().
  • Получите объект CustomDocumentProperties из документа.
  • Добавьте в документ пользовательское свойство «_MarkAsFinal».
  • Сохраните документ в другой файл Word, используя метод Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace MarkAsFinal
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Get custom document properties
                CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
    
                //Add "_MarkAsFinal" property to the document
                customProperties.Add("_MarkAsFinal", true);
    
                //Save the document to another Word file
                doc.SaveToFile("MarkAsFinal.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Удаление пароля из документа Word на C#, VB.NET

Вы можете удалить пароль из зашифрованного документа, если шифрование больше не требуется. Ниже приведены подробные шаги.

  • Создайте объект Документ.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Удалите пароль с помощью метода Document.RemoveEncryption().
  • Сохраните документ в другой файл Word, используя метод Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace RemovePassword
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load an encrypted Word document
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\Encryption.docx", FileFormat.Docx, "open-psd");
    
                //Remove encryption
                document.RemoveEncryption();
    
                //Save the document to another Word file
                document.SaveToFile("Decryption.docx", FileFormat.Docx);
            }
        }
    }

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также