Enabling security options of your Word documents is essential for keeping sensitive information safe. You can encrypt your document with a password so that it cannot be opened by unauthorized users; you can enable the Read-only mode to prevent users from changing the content; you can also partially restrict editing your document. This article demonstrates how to protect or unprotect Word documents in Java using Spire.Doc for Java.
- Protect a Word Document with a Password in Java
- Change Permission of a Word Document in Java
- Lock Specified Sections of a Word Document in Java
- Mark a Word Document as Final in Java
- Remove Password from an Encrypted Word Document in Java
Install Spire.Doc for Java
First of all, you're required to add the Spire.Doc.jar file as a dependency in your Java program. The JAR file can be downloaded from this link. If you use Maven, you can easily import the JAR file in your application by adding the following code to your project's pom.xml file.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>12.11.0</version> </dependency> </dependencies>
Protect a Word Document with a Password in Java
Encrypting a document with a password makes sure that only you and certain people can read or edit it. The following are the steps to password protect a Word document using Spire.Doc for Java.
- Create a Document object.
- Load a Word document using Document.loadFromFile() method.
- Encrypt the document with a password using Document.encrypt() method.
- Save the document to another Word file using Document.saveToFile() method.
- Java
import com.spire.doc.Document; import com.spire.doc.FileFormat; public class PasswordProtectWord { public static void main(String[] args) { //Create a Document object Document document = new Document(); //Load a Word file document.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx"); //Encrypt the document with a password document.encrypt("open-psd"); //Save the document to another Word file document.saveToFile("output/Encryption.docx", FileFormat.Docx); } }
Change Permission of a Word Document in Java
Documents encrypted with an open password cannot be opened by those who do not know the password. If you’d like to grant people permission to read your document but restrict the types of modifications that someone can make, you can set the document permission. The following are the steps to change permission of a Word document using Spire.Doc for Java.
- Create a Document object.
- Load a Word document using Document.loadFromFile() method.
- Set the document permission and the permission password using Document.protect() method.
- Save the document to another Word file using Document.saveToFile() method.
- Java
import com.spire.doc.Document; import com.spire.doc.ProtectionType; public class ChangePermission { public static void main(String[] args) { //Create a Document object Document document = new Document(); //Load a Word document document.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx"); //Set the document permission and set the permission password document.protect(ProtectionType.Allow_Only_Form_Fields, "permission-psd"); //Save the document to another Word file document.saveToFile("output/Permission.docx"); } }
Lock Specified Sections of a Word Document in Java
You can lock parts of your Word document so that they cannot be changed and leave the unlocked parts available for editing. The following are the steps to protect specified sections of a Word document using Spire.Doc for Java.
- Create a Document object.
- Load a Word document using Document.loadFromFile() method.
- Set the editing restriction as Allow_Only_Form_Fields.
- Unprotect a specific section by passing false to Section.protectForm() as a parameter. The rest sections will continue to be protected.
- Save the document to another Word file using Document.saveToFile() method.
- Java
import com.spire.doc.Document; import com.spire.doc.ProtectionType; public class LockSpecificSections { public static void main(String[] args) { //Create a Document object Document doc = new Document(); //Load a Word document doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx"); //Set editing restriction as "Allow_Only_Form_Fields" doc.protect(ProtectionType.Allow_Only_Form_Fields, "permissionPsd"); //Unprotect section 2 doc.getSections().get(1).setProtectForm(false); //Save the document to another Word file doc.saveToFile("output/ProtectSection.docx"); } }
Mark a Word Document as Final in Java
By marking a document as Final, you disable typing, editing, and format changes capabilities and a message will appear to any reader that the document has been finalized. The following are the steps to mark a Word document as final using Spire.Doc for Java.
- Create a Document object.
- Load a Word file using Document.loadFromFile() method.
- Get the CustomDocumentProperties object from the document.
- Add a custom property "_MarkAsFinal" to the document.
- Save the document to another Word file using Document.saveToFile() method.
- Java
import com.spire.doc.CustomDocumentProperties; import com.spire.doc.Document; public class MarkAsFinal { public static void main(String[] args) { //Create a Document object Document doc = new Document(); //Load a Word document doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.docx"); //Get custom document properties CustomDocumentProperties customProperties = doc.getCustomDocumentProperties(); //Add "_MarkAsFinal" as a property to the document customProperties.add("_MarkAsFinal", true); //Save the document to another Word file doc.saveToFile("output/MarkAsFinal.docx"); } }
Remove Password from an Encrypted Word Document in Java
You can remove the password from an encrypted document if the encryption is no longer needed. The following are the detailed steps.
- Create a Document object.
- Load a Word document using Document.loadFromFile() method.
- Remove the password using Document.removeEncryption() method.
- Save the document to another Word file using Document.saveToFile() method.
- Java
import com.spire.doc.Document; import com.spire.doc.FileFormat; public class RemovePassword { public static void main(String[] args) { //Create a Document object Document document = new Document(); //Load an encrypted Word document document.loadFromFile("C:\\Users\\Administrator\\Desktop\\Encryption.docx", FileFormat.Docx, "open-psd"); //Remove encryption document.removeEncryption(); //Save the document to another Word file document.saveToFile("output/RemoveEncryption.docx", FileFormat.Docx); } }
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.