ドキュメントを読み取り専用で開く

レビューが必要なドキュメントがある場合でも、レビュー担当者に内容を無作為に変更されたくない場合があります。 Aspose.Words を使用すると、ドキュメントの権限を読み取り専用にして、コンテンツのコピーや読み取りは可能ですが、変更はできないようにすることができます。これにより、コンテンツがドキュメントに削除されたり、ドキュメントに追加されたりすることがなくなります。

この記事では、ドキュメントを読み取り専用にする方法について説明します。

ドキュメントを読み取り専用にする

Aspose.Words には、ドキュメントの書き込み保護設定を指定するパブリック クラス WriteProtection があります。このクラスのインスタンスは直接作成しません。

書き込み保護は、作成者がドキュメントを読み取り専用で開くことを推奨しているかどうか、および/またはドキュメントを変更するためにパスワードを要求しているかどうかを示します。

Aspose.Words では、ReadOnlyRecommended プロパティと SetPassword メソッドを使用して、ドキュメントを読み取り専用にして編集を制限できます。

ReadOnlyRecommended プロパティはパスワードで保護されているため、ReadOnlyRecommended プロパティを適用する前にパスワードを設定しないと、他のユーザーは保護されていない場合と同様にドキュメントを開くことができます。 SetPassword メソッドを使用して文書保護設定にアクセスし、書き込み保護パスワードを設定します。

ドキュメントに編集を制限する書き込み保護パスワードが設定されているかどうかを確認する必要がある場合は、IsWriteProtected プロパティを使用できます。

次のコード例は、ドキュメントを読み取り専用にする方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Open document as read-only");
// Enter a password that's up to 15 characters long.
doc.WriteProtection.SetPassword("MyPassword");
// Make the document as read-only.
doc.WriteProtection.ReadOnlyRecommended = true;
// Apply write protection as read-only.
doc.Protect(ProtectionType.ReadOnly);
doc.Save(ArtifactsDir + "DocumentProtection.ReadOnlyProtection.docx");

読み取り専用制限を解除する

ユーザーがドキュメントを読み取り専用として開くことを望まない場合は、ReadOnlyRecommened プロパティを false に設定するか、ProtectionTypeNoProtection として選択するだけです。

次のコード例は、ドキュメントの読み取り専用アクセスを削除する方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
// Enter a password that's up to 15 characters long.
doc.WriteProtection.SetPassword("MyPassword");
// Remove the read-only option.
doc.WriteProtection.ReadOnlyRecommended = false;
// Apply write protection without any protection.
doc.Protect(ProtectionType.NoProtection);
doc.Save(ArtifactsDir + "DocumentProtection.RemoveReadOnlyRestriction.docx");