Protecting word processing documents

Since version 18.6, GroupDocs.Watermark provides a simplified way of protecting the Word documents with the password. The API allows you to protect as well as unprotect the Word documents. The following protection types are supported:

  • AllowOnlyRevisions: user can only add revision marks to the document.
  • AllowOnlyComments: user can only modify comments in the document.
  • AllowOnlyFormFields: user can only enter data in the form fields in the document.
  • ReadOnly: no changes are allowed to the document.

The protection types are added to the WordProcessingProtectionType enum. Following code samples demonstrate how to protect and unprotect Word documents.

Protecting a document

Following code sample protects a Word document with the password.

AdvancedUsage.AddingWatermarks.AddWatermarksToWordProcessing.WordProcessingProtectDocument

WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
// Specify an absolute or relative path to your document. Ex: @"C:\Docs\document.docx"
using (Watermarker watermarker = new Watermarker("document.docx", loadOptions))
{
    WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();

    content.Protect(WordProcessingProtectionType.ReadOnly, "7654321");

    watermarker.Save("document.docx");
}

Unprotecting a document

The following code sample shows how to unprotect a Word document regardless of password.

AdvancedUsage.AddingWatermarks.AddWatermarksToWordProcessing.WordProcessingUnProtectDocument

WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
// Specify an absolute or relative path to your document. Ex: @"C:\Docs\document.docx"
using (Watermarker watermarker = new Watermarker("document.docx", loadOptions))
{
    WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();

    content.Unprotect();

    watermarker.Save("document.docx");
}