Открыть документ, доступный только для чтения

Иногда у вас может быть документ, который нуждается в проверке, но вы не хотите, чтобы рецензенты произвольно изменяли ваше содержимое. Aspose.Words позволяет настроить разрешение вашего документа только для чтения, чтобы содержимое можно было копировать или читать, но не изменять. Это предотвратит удаление или добавление содержимого в ваш документ.

В этой статье объясняется, как сделать документ доступным только для чтения.

Сделайте документ доступным только для чтения

Aspose.Words имеет открытый класс WriteProtection, который определяет параметры защиты документа от записи. Экземпляры этого класса не создаются напрямую.

Защита от записи показывает, рекомендовал ли автор открыть документ только для чтения и/или требуется ли пароль для изменения документа.

Aspose.Words позволяет сделать документ доступным только для чтения, чтобы ограничить редактирование, используя свойство read_only_recommended и метод set_password.

Свойство read_only_recommended защищено паролем, поэтому, если вы не зададите пароль перед применением свойства read_only_recommended, другие пользователи смогут просто открыть документ, как если бы он был незащищенным. Вы получаете доступ к настройкам защиты документа и устанавливаете пароль для защиты от записи с помощью метода set_password.

Если вам нужно проверить, установлен ли в документе пароль для защиты от записи, который запрещает его редактирование, вы можете использовать свойство is_write_protected.

В следующем примере кода показано, как сделать документ доступным только для чтения:

import aspose.words as aw

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.write("Open document as read-only")

# Enter a password that's up to 15 characters long.
doc.write_protection.set_password("MyPassword")

# Make the document as read-only.
doc.write_protection.read_only_recommended = True

# Apply write protection as read-only.
doc.protect(aw.ProtectionType.READ_ONLY)
doc.save(docs_base.artifacts_dir + "DocumentProtection.ReadOnlyProtection.docx")

Снять ограничение только для чтения

Если вы не хотите, чтобы пользователь открывал ваш документ только для чтения, вы можете просто задать свойству read_only_recommended значение False или выбрать ProtectionType как NO_PROTECTION.

В следующем примере кода показано, как отключить доступ к документу только для чтения:

import aspose.words as aw

doc = aw.Document()
            
# Enter a password that's up to 15 characters long.
doc.write_protection.set_password("MyPassword")

# Remove the read-only option.
doc.write_protection.read_only_recommended = False

# Apply write protection without any protection.
doc.protect(aw.ProtectionType.NO_PROTECTION)
doc.save(docs_base.artifacts_dir + "DocumentProtection.RemoveReadOnlyRestriction.docx")