Problema

No Livecycle ES2, para remover programaticamente uma senha de um PDF criptografado com alguns direitos de extensão de leitor, é necessário desbloquear o arquivo primeiro e remover os direitos de uso. Depois, é possível remover a senha.

O processo, no entanto, falha no removePDFPasswordSecurity() ao executar na seguinte ordem:

Document inDoc = new Document (fileInputStream);
inDoc = encryptClient.unlockPDFUsingPassword(inDoc, "password");
inDoc = reClient.removeUsageRights(inDoc);
inDoc = encryptClient.removePDFPasswordSecurity(inDoc,"password");

Solução alternativa

Para evitar o problema, ao executar removeUsageRights (), os dados são emitidos para o sistema de arquivos. Então, leia o arquivo de saída e use-o para removePDFPasswordSecurity().

Informações adicionais

Este é um problema da API LiveCycle ES2.

No Adobe Digital Enterprise Platform Document Services e no LiveCycle ES3, a especificação para esse comportamento de segurança de arquivos PDF é revertida para a do LiveCycle ES. Portanto, esse problema não ocorre nessas versões.