Java proteger ou desproteger documentos do Word

2023-11-06 09:30:58 zaki zou

Habilitar opções de segurança em seus documentos do Word é essencial para manter informações confidenciais seguras. Você pode criptografe seu documento com uma senha para que não possa ser aberto por usuários não autorizados; você pode ativar o modo somente leitura impedir que os usuários alterem o conteúdo; você também pode restringir parcialmente a edição do seu documento. Este artigo demonstra como proteger ou desproteger documentos do Word em Java usando Spire.Doc for Java.

Instale Spire.Doc for Java

Primeiro de tudo, você deve adicionar o arquivo Spire.Doc.jar como uma dependência em seu programa Java. O arquivo JAR pode ser baixado neste link.Se você usa Maven, pode importar facilmente o arquivo JAR em seu aplicativo adicionando o código a seguir ao arquivo pom.xml do seu projeto.

<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>13.11.2</version>
    </dependency>
</dependencies>

Proteja um documento do Word com uma senha em Java

Criptografar um documento com uma senha garante que somente você e determinadas pessoas possam lê-lo ou editá-lo. A seguir estão as etapas para proteger com senha um documento do Word usando Spire.Doc for Java.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.loadFromFile().
  • Criptografe o documento com uma senha usando o método Document.encrypt().
  • Salve o documento em outro arquivo do Word usando o método Document.saveToFile().
  • 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);
        }
    }

Java: Protect or Unprotect Word Documents

Alterar permissão de um documento do Word em Java

Documentos criptografados com senha aberta não podem ser abertos por quem não conhece a senha. Se desejar conceder permissão às pessoas para lerem seu documento, mas restringir os tipos de modificações que alguém pode fazer, você pode definir a permissão do documento. A seguir estão as etapas para alterar a permissão de um documento do Word usando Spire.Doc for Java.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.loadFromFile().
  • Defina a permissão do documento e a senha de permissão usando o método Document.protect().
  • Salve o documento em outro arquivo do Word usando o método Document.saveToFile().
  • 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");
        }
    }

Java: Protect or Unprotect Word Documents

Bloquear seções especificadas de um documento do Word em Java

Você pode bloquear partes do seu documento do Word para que não possam ser alteradas e deixar as partes desbloqueadas disponíveis para edição. A seguir estão as etapas para proteger seções específicas de um documento do Word usando Spire.Doc for Java.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.loadFromFile().
  • Defina a restrição de edição como Allow_Only_Form_Fields.
  • Desproteja uma seção específica passando false para Section.protectForm() como parâmetro. As demais seções continuarão protegidas.
  • Salve o documento em outro arquivo do Word usando o método Document.saveToFile().
  • 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");
        }
    }

Java: Protect or Unprotect Word Documents

Marcar um documento do Word como final em Java

Ao marcar um documento como Final, você desativa os recursos de digitação, edição e alterações de formato e uma mensagem aparecerá para qualquer leitor informando que o documento foi finalizado. A seguir estão as etapas para marcar um documento do Word como final usando Spire.Doc for Java.

  • Crie um objeto Documento.
  • Carregue um arquivo Word usando o método Document.loadFromFile().
  • Obtenha o objeto CustomDocumentProperties do documento.
  • Adicione uma propriedade customizada "_MarkAsFinal" ao documento.
  • Salve o documento em outro arquivo do Word usando o método Document.saveToFile().
  • 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");
        }
    }

Java: Protect or Unprotect Word Documents

Remover a senha de um documento do Word criptografado em Java

Você poderá remover a senha de um documento criptografado se a criptografia não for mais necessária. A seguir estão as etapas detalhadas.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.loadFromFile().
  • Remova a senha usando o método Document.removeEncryption().
  • Salve o documento em outro arquivo do Word usando o método Document.saveToFile().
  • 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);
        }
    }

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também