com.aspose.words
Class DocumentSecurity

java.lang.Object
    extended by com.aspose.words.DocumentSecurity

public class DocumentSecurity 
extends java.lang.Object

Utility class containing constants. Used as a value for the BuiltInDocumentProperties.Security property. Specifies the security level of a document as a numeric value.

Example:

Shows how to use document properties to display the security level of a document.
// Create a blank document, which has no security of any kind by default
Document doc = new Document();

// The "Security" property serves as a description of the security level of a document
Assert.assertEquals(doc.getBuiltInDocumentProperties().getSecurity(), DocumentSecurity.NONE);

// Upon saving a document after setting its security level, Aspose automatically updates this property to the appropriate value
doc.getWriteProtection().setReadOnlyRecommended(true);
doc.save(getArtifactsDir() + "Properties.Security.ReadOnlyRecommended.docx");

// We can open a document and glance at its security level like this
Assert.assertEquals(new Document(getArtifactsDir() + "Properties.Security.ReadOnlyRecommended.docx").getBuiltInDocumentProperties().getSecurity(),
        DocumentSecurity.READ_ONLY_RECOMMENDED);

// Create a new document and set it to Write-Protected
doc = new Document();

Assert.assertFalse(doc.getWriteProtection().isWriteProtected());
doc.getWriteProtection().setPassword("MyPassword");
Assert.assertTrue(doc.getWriteProtection().validatePassword("MyPassword"));
Assert.assertTrue(doc.getWriteProtection().isWriteProtected());
doc.save(getArtifactsDir() + "Properties.Security.ReadOnlyEnforced.docx");

// This document's security level counts as "ReadOnlyEnforced"
Assert.assertEquals(new Document(getArtifactsDir() + "Properties.Security.ReadOnlyEnforced.docx").getBuiltInDocumentProperties().getSecurity(),
        DocumentSecurity.READ_ONLY_ENFORCED);

// Since this is still a descriptive property, we can protect a document and pick a suitable value ourselves
doc = new Document();

doc.protect(ProtectionType.ALLOW_ONLY_COMMENTS, "MyPassword");
doc.getBuiltInDocumentProperties().setSecurity(DocumentSecurity.READ_ONLY_EXCEPT_ANNOTATIONS);
doc.save(getArtifactsDir() + "Properties.Security.ReadOnlyExceptAnnotations.docx");

Assert.assertEquals(new Document(getArtifactsDir() + "Properties.Security.ReadOnlyExceptAnnotations.docx").getBuiltInDocumentProperties().getSecurity(),
        DocumentSecurity.READ_ONLY_EXCEPT_ANNOTATIONS);

Field Summary
static final intNONE = 0
           There are no security states specified by the property.
static final intPASSWORD_PROTECTED = 1
           The document is password protected. (Note has never been seen in a document so far).
static final intREAD_ONLY_RECOMMENDED = 2
           The document to be opened read-only if possible, but the setting can be overridden.
static final intREAD_ONLY_ENFORCED = 4
           The document to always be opened read-only.
static final intREAD_ONLY_EXCEPT_ANNOTATIONS = 8
           The document to always be opened read-only except for annotations.
 

Field Detail

NONE = 0

public static final int NONE
There are no security states specified by the property.

PASSWORD_PROTECTED = 1

public static final int PASSWORD_PROTECTED
The document is password protected. (Note has never been seen in a document so far).

READ_ONLY_RECOMMENDED = 2

public static final int READ_ONLY_RECOMMENDED
The document to be opened read-only if possible, but the setting can be overridden.

READ_ONLY_ENFORCED = 4

public static final int READ_ONLY_ENFORCED
The document to always be opened read-only.

READ_ONLY_EXCEPT_ANNOTATIONS = 8

public static final int READ_ONLY_EXCEPT_ANNOTATIONS
The document to always be opened read-only except for annotations.

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.