Anteriormente, restringíamos o acesso a documentos PDF aplicando senhas. Neste artigo, veremos como proteger com senha documentos do Word em Java. Além disso, também aprenderemos a alterar a senha existente de arquivos DOC e DOCX e, por último, como remover a proteção por senha para desbloquear documentos do Word dentro dos aplicativos Java.

Proteger com senha documentos do Word em Java

Os seguintes tópicos são abordados abaixo:

API Java para bloquear/desbloquear documentos do Word

GroupDocs.Merger apresenta a API Java que permite bloquear e desbloquear documentos do Word dentro dos aplicativos Java. Usaremos GroupDocs.Merger for Java para adicionar a senha aos arquivos do Word, alterá-la e também remover a proteção por senha dos arquivos do Word em Java.

Você pode fazer o download do arquivo JAR na seção de downloads ou usar as configurações de repositório e dependência Maven mais recentes em seus aplicativos Java.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

Para obter mais detalhes sobre a API e sobre os outros formatos de documentos suportados, você pode visitar a documentação e o repositório GitHub para os exemplos de código-fonte.

Proteger com senha o documento do Word em Java

Documento do Word bloqueado programaticamente

Vamos começar adicionando uma senha ao arquivo MS Word DOCX para segurança. As etapas a seguir mostram como adicionar uma senha a documentos do Word em Java.

  • Defina a senha usando a classe AddPasswordOptions.
  • Carregue o arquivo DOCX usando a classe Merger.
  • Torne-o protegido por senha usando addPassword()) método.
  • Salve o arquivo protegido usando o método apropriado save().

O trecho de código Java a seguir adiciona uma senha a um arquivo MS Word DOCX.

/*
 * Proteger com senha documentos do Word em Java
 */
AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

Merger merger = new Merger("path/document.docx");
merger.addPassword(addOptions);
merger.save("path/protected-document.docx");

Agora, sempre que você tentar abrir o documento protegido por senha, o visualizador e editor de documentos solicitará a senha para abrir o arquivo.

Digite a senha para abrir o documento do Word protegido

Alterar a senha existente do documento do Word em Java

Vamos alterar a senha por uma nova. As etapas a seguir alteram a senha existente do arquivo do Word em Java.

O trecho de código a seguir altera a senha atual do documento do Word usando Java.

/*
 * Alterar a senha dos documentos DOC/DOCX protegidos em Java
 */
LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

Merger merger = new Merger("path/protected-document.docx", loadOptions);
merger.updatePassword(updateOptions);
merger.save("path/pwd-changed-document.docx");

Remover senha do documento do Word em Java

Se o documento não for mais confidencial e a proteção do arquivo não for necessária, você pode simplesmente remover a senha. As etapas a seguir mostram como remover a senha de um arquivo do Word protegido em Java.

  • Carregue o documento Word protegido usando a classe Merger e a senha existente.
  • Remova sua senha usando o método removePassword().
  • Salve o arquivo DOCX desbloqueado usando o método save().

A seguir está o exemplo de código Java que remove a senha de um arquivo do Word para torná-lo desbloqueado/desprotegido.

/*
 * Remover senha do documento do Word em Java
 */
LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

Merger merger = new Merger("path/protected-document.docx", loadOptions);
merger.removePassword();
merger.save("path/no-pwd-document.docx");

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Vamos resumir o que discutimos acima. Usando um documento simples do Word, nós o bloqueamos com uma senha usando o exemplo Java. Em seguida, aprendemos a alterar a senha existente. Por fim, removemos a senha do arquivo do Word para desbloqueá-lo em qualquer aplicativo Java.

Para saber mais sobre o GroupDocs.Merger for Java, visite sua documentação para começar a criar seu próprio protetor de documentos ou aplicativos de remoção de senha para vários formatos de documentos compatíveis. Para dúvidas, entre em contato conosco pelo fórum.

Veja também