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.
Os seguintes tópicos são abordados abaixo:
- API Java para bloquear/desbloquear documentos do Word
- Adicionar senha ao documento do Word
- Alterar senha do documento do Word
- Como remover a senha do documento do Word
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
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.
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.
- Defina as opções de carregamento usando a senha atual.
- Agora defina a nova senha usando opções de atualização de senha.
- Carregue o documento Word protegido usando a classe Merger e as opções de carregamento definidas.
- Use o método updatePassword() para aplicar a nova senha.
- Salve o arquivo protegido por senha novamente usando o método save().
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.