Load password-protected document

Some document formats also support content encryption. To load these type of documents you will have to provide the password. GroupDocs.Watermark API allows you to load content of these documents to manage watermark.

Load password-protected document of any supported format

The following example demonstrates how to load an encrypted document of any supported format using the password. If the password is incorrect, InvalidPasswordExceptionis thrown.

AdvancedUsage.LoadingDocuments.LoadPasswordProtectedDocument

LoadOptions loadOptions = new LoadOptions();
loadOptions.Password = "P@$$w0rd";
// Specify an absolute or relative path to your document. Ex: @"C:\Docs\protected-document.docx"
string filePath = "protected-document.docx";
using (Watermarker watermarker = new Watermarker(filePath, loadOptions))
{
    // use watermarker methods to manage watermarks in the document
    TextWatermark watermark = new TextWatermark("Test watermark", new Font("Arial", 12));

    watermarker.Add(watermark);

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

Load password-protected word processing document

The following example demontrates how to load an encrypted word processing document (DOC, DOCX etc) using the password.

AdvancedUsage.LoadingDocuments.LoadPasswordProtectedWordProcessingDocument

WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.Password = "P@$$w0rd";
// Specify an absolute or relative path to your document. Ex: @"C:\Docs\protected-document.docx"
string filePath = "protected-document.docx";
using (Watermarker watermarker = new Watermarker(filePath, loadOptions))
{
    // use watermarker methods to manage watermarks in the WordProcessing document
    TextWatermark watermark = new TextWatermark("Test watermark", new Font("Arial", 12));
    watermarker.Add(watermark);
    watermarker.Save("protected-document.docx");
}

The following LoadOptions descendants use Password property: