Resumo das etapas

Para montar um documento PDF criptografado, execute as seguintes etapas:

  1. Incluir arquivos de projeto.
  2. Crie um cliente PDF Assembler.
  3. Consulte um documento DDX existente.
  4. Referencie um documento de PDF não seguro.
  5. Definir opções de tempo de execução.
  6. Criptografe o documento.
  7. Salve o documento PDF criptografado.

Incluir arquivos de projeto

Inclua os arquivos necessários no projeto de desenvolvimento. Se você estiver criando uma aplicação cliente usando Java, inclua os arquivos JAR necessários. Se você estiver usando serviços da Web, certifique-se de incluir os arquivos proxy.

Os seguintes arquivos JAR devem ser adicionados ao caminho de classe do projeto:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-assembler-client.jar
  • adobe-utilities.jar (necessário se o AEM Forms for implantado no JBoss)
  • jbossall-client.jar (necessário se o AEM Forms for implantado no JBoss)

se o AEM Forms for disponibilizado em um servidor de aplicativos J2EE compatível diferente do JBoss, você deverá substituir os arquivos adobe-utilities.jar e jbossall-client.jar por arquivos JAR específicos para o servidor de aplicativos J2EE no qual o AEM Forms é disponibilizado. Para obter informações sobre a localização de todos os arquivos JAR do AEM Forms, consulte Incluindo arquivos da biblioteca Java do AEM Forms.

Criar um cliente do Assembler

Antes de executar programaticamente uma operação do Assembler, você deve criar um cliente de serviço do Assembler.

Referenciar um documento DDX existente

Um documento DDX deve ser referenciado para montar um documento PDF. Por exemplo, considere o documento DDX introduzido nesta seção. Para criptografar um documento PDF, o documento DDX deve conter o elemento PasswordEncryptionProfile.

Referenciar um documento de PDF não seguro

Um documento de PDF não seguro deve ser referenciado e passado para o serviço Assembler para criptografá-lo. Se você fizer referência a um documento PDF que já está criptografado, uma exceção será lançada.

Definir opções de tempo de execução

Você pode definir opções de tempo de execução que controlam o comportamento do serviço Assembler enquanto ele executa um job. Por exemplo, você pode definir uma opção que instrui o serviço Assembler a continuar processando um job se um erro for encontrado. Para obter informações sobre as opções de tempo de execução que você pode definir, consulte a referência de classe AssemblerOptionSpec na Referência da API AEM Forms.

Criptografar o documento

Depois de criar o cliente de serviço do Assembler, fazer referência ao documento DDX que contém informações de criptografia, fazer referência a um documento PDF não seguro e definir opções de tempo de execução, você poderá invocar a operação invokeOneDocument. Como apenas um documento de PDF de entrada está sendo passado para o serviço Assembler (e um documento está sendo retornado), você pode usar a operação invokeOneDocument em vez da operação invokeDDX.

Salvar o documento de PDF criptografado

Se apenas um único documento de PDF for passado para o serviço Assembler, o serviço Assembler retornará um único documento em vez de um objeto de coleção. Ou seja, ao invocar a operação invokeOneDocument, um único documento é retornado. Como o documento DDX referenciado nesta seção contém informações de criptografia, o serviço Assembler retorna um documento PDF que é criptografado com uma senha.

Consulte também

Inclusão de arquivos da biblioteca Java do AEM Forms

Definindo propriedades de conexão

Montagem programática de documentos do PDF

Montar um documento PDF criptografado usando a API Java

  1. Incluir arquivos de projeto.

    Inclua arquivos JAR do cliente, como adobe-assembler-client.jar, no caminho de classe do projeto Java.

  2. Criar um cliente Assembler.

    • Crie um objeto ServiceClientFactory que contenha propriedades de conexão.
    • Crie um objeto AssemblerServiceClient usando seu construtor e transmitindo o objeto ServiceClientFactory.
  3. Consulte um documento DDX existente.

    • Crie um objeto java.io.FileInputStream que represente o documento DDX usando seu construtor e transmitindo um valor de cadeia de caracteres que especifique o local do arquivo DDX.
    • Crie um objeto com.adobe.idp.Document usando seu construtor e transmitindo o objeto java.io.FileInputStream.
  4. Referencie um documento de PDF não seguro.

    • Crie um objeto java.io.FileInputStream usando seu construtor e transmitindo o local de um documento PDF não seguro.
    • Crie um objeto com.adobe.idp.Document e passe o objeto java.io.FileInputStream que contém o documento PDF. Este objeto com.adobe.idp.Document é passado para o método invokeOneDocument.
  5. Definir opções de tempo de execução.

    • Crie um objeto AssemblerOptionSpec que armazene opções de tempo de execução usando seu construtor.
    • Defina as opções de tempo de execução para atender aos requisitos da sua empresa invocando um método que pertença ao objeto AssemblerOptionSpec. Por exemplo, para instruir o serviço Assembler a continuar processando um trabalho quando ocorrer um erro, chame o método setFailOnError do objeto AssemblerOptionSpec e passe false.
  6. Criptografe o documento.

    Invoque o método invokeOneDocument do objeto AssemblerServiceClient e passe os seguintes valores:

    • Um objeto com.adobe.idp.Document que representa o documento DDX. Verifique se este documento DDX contém o valor inDoc para o elemento de origem PDF.
    • Um objeto com.adobe.idp.Document que contém o documento PDF não seguro.
    • Um objeto com.adobe.livecycle.assembler.client.AssemblerOptionSpec que especifica as opções de tempo de execução, incluindo a fonte padrão e o nível de log do trabalho.

    O método invokeOneDocument retorna um objeto com.adobe.idp.Document que contém um documento PDF criptografado por senha.

  7. Salve o documento PDF criptografado.

    • Crie um objeto java.io.File e verifique se a extensão do nome do arquivo é .pdf.
    • Invoque o método copyToFile do objeto Document para copiar o conteúdo do objeto Document para o arquivo. Certifique-se de usar o objeto Document retornado pelo método invokeOneDocument.