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

場合によっては、レビューが必要なドキュメントがありますが、レビュー担当者がコンテンツをランダムに変更しないようにすることがあります。 Aspose.Wordsドキュメントのアクセス許可を読み取り専用にすることで、コンテンツをコピーまたは読み取りできますが、変更はできません。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-C
auto doc = System::MakeObject<Document>();
auto builder = System::MakeObject<DocumentBuilder>(doc);
builder->Write(u"Open document as read-only");
// Enter a password that's up to 15 characters long.
doc->get_WriteProtection()->SetPassword(u"MyPassword");
// Make the document as read-only.
doc->get_WriteProtection()->set_ReadOnlyRecommended(true);
// Apply write protection as read-only.
doc->Protect(ProtectionType::ReadOnly);
doc->Save(ArtifactsDir + u"Properties.ReadOnlyRecommended.docx");

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

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
auto doc = System::MakeObject<Document>();
auto builder = System::MakeObject<DocumentBuilder>(doc);
// Enter a password that's up to 15 characters long.
doc->get_WriteProtection()->SetPassword(u"MyPassword");
// Remove the read-only option.
doc->get_WriteProtection()->set_ReadOnlyRecommended(false);
// Apply write protection without any protection.
doc->Protect(ProtectionType::NoProtection);
doc->Save(ArtifactsDir + u"Properties.RemoveReadOnly.docx");