Desmonte um documento PDF usando a API do serviço da Web

Exemplos e exemplos neste documento são apenas para o AEM Forms no ambiente JEE.

Desmonte um documento PDF usando a API do Serviço de Assembler (serviço da Web):

  1. Inclua arquivos de projeto.

    Crie um projeto do Microsoft .NET que use MTOM. Certifique-se de usar a seguinte definição WSDL ao definir uma referência de serviço: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    OBSERVAÇÃO

    Substitua localhost pelo endereço IP do servidor que hospeda o AEM Forms.

  2. Crie um cliente Assembler do PDF.

    • Crie um objeto AssemblerServiceClient usando seu construtor padrão.

    • Crie um objeto AssemblerServiceClient.Endpoint.Address usando o construtor System.ServiceModel.EndpointAddress. Passe um valor de string que especifica o WSDL para o serviço do AEM Forms (por exemplo, http://localhost:8080/soap/services/AssemblerService?blob=mtom). Você não precisa usar o atributo lc_version. Esse atributo é usado ao criar uma referência de serviço.

    • Crie um objeto System.ServiceModel.BasicHttpBinding obtendo o valor do campo AssemblerServiceClient.Endpoint.Binding. Converta o valor de retorno em BasicHttpBinding.

    • Defina o campo System.ServiceModel.BasicHttpBinding MessageEncoding do objeto para WSMessageEncoding.Mtom. Esse valor garante que o MTOM seja usado.

    • Ative a autenticação HTTP básica executando as seguintes tarefas:

      • Atribua o nome de usuário dos formulários AEM ao campo AssemblerServiceClient.ClientCredentials.UserName.UserName.
      • Atribua o valor correspondente da senha ao campo AssemblerServiceClient.ClientCredentials.UserName.Password.
      • Atribua o valor constante HttpClientCredentialType.Basic ao campo BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • Atribua o valor constante BasicHttpSecurityMode.TransportCredentialOnly ao campo BasicHttpBindingSecurity.Security.Mode.
  3. Faça referência a um documento DDX existente.

    • Crie um objeto BLOB usando seu construtor. O objeto BLOB é usado para armazenar o documento DDX.
    • Crie um objeto System.IO.FileStream chamando seu construtor. Passe um valor de string que representa o local do arquivo do documento DDX e o modo no qual o arquivo deve ser aberto.
    • Crie uma matriz de bytes que armazene o conteúdo do objeto System.IO.FileStream. Você pode determinar o tamanho da matriz de bytes obtendo a propriedade System.IO.FileStream do objeto Length.
    • Preencha a matriz de bytes com dados de fluxo chamando o método System.IO.FileStream do objeto Read e passando a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido.
    • Preencha o objeto BLOB atribuindo sua propriedade MTOM ao conteúdo da matriz de bytes.
  4. Faça referência a um documento PDF para desmontar.

    • Crie um objeto BLOB usando seu construtor. O objeto BLOB é usado para armazenar o documento PDF de entrada. Esse objeto BLOB é passado para invokeOneDocument como um argumento.
    • Crie um objeto System.IO.FileStream chamando seu construtor e passando um valor de string que representa o local do arquivo do documento PDF de entrada e o modo no qual o arquivo será aberto.
    • Crie uma matriz de bytes que armazene o conteúdo do objeto System.IO.FileStream. Você pode determinar o tamanho da matriz de bytes obtendo a propriedade System.IO.FileStream do objeto Length.
    • Preencha a matriz de bytes com dados de fluxo chamando o método System.IO.FileStream do objeto Read e passando a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido.
    • Preencha o objeto BLOB atribuindo seu campo MTOM ao conteúdo da matriz de bytes.
    • Crie um objeto MyMapOf_xsd_string_To_xsd_anyType. Esse objeto de coleção é usado para armazenar o PDF para desmontar.
    • Crie um objeto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Atribua um valor de string que represente o nome da chave ao campo MyMapOf_xsd_string_To_xsd_anyType_Item key do objeto. Esse valor deve corresponder ao valor do elemento de origem do PDF especificado no documento DX.
    • Atribua o objeto BLOB que armazena o documento PDF ao campo MyMapOf_xsd_string_To_xsd_anyType_Item value do objeto.
    • Adicione o objeto MyMapOf_xsd_string_To_xsd_anyType_Item ao objeto MyMapOf_xsd_string_To_xsd_anyType. Chame o método MyMapOf_xsd_string_To_xsd_anyType object' Add e passe o objeto MyMapOf_xsd_string_To_xsd_anyType.
  5. Defina as 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 de negócios, atribuindo um valor a um membro de dados que pertence ao objeto AssemblerOptionSpec. Por exemplo, para instruir o serviço Assembler a continuar o processamento de uma tarefa quando ocorrer um erro, atribua false ao campo AssemblerOptionSpec failOnError do objeto.
  6. Desmonte o documento PDF.

    Chame o método AssemblerServiceClient do objeto invokeDDX e passe os seguintes valores:

    • Um objeto BLOB que representa o documento DDX que desmonta o documento PDF
    • O objeto MyMapOf_xsd_string_To_xsd_anyType que contém o documento PDF a ser desmontado
    • Um objeto AssemblerOptionSpec que especifica as opções de tempo de execução

    O método invokeDDX retorna um objeto AssemblerResult que contém os resultados da tarefa e quaisquer exceções que ocorreram.

  7. Salve os documentos PDF desmontados.

    Para obter os documentos PDF recém-criados, execute as seguintes ações:

    • Acesse o campo AssemblerResult do objeto documents, que é um objeto Map que contém os documentos PDF desmontados.
    • Itere pelo objeto Map para obter cada documento resultante. Em seguida, converta o membro da matriz value em um BLOB.
    • Extraia os dados binários que representam o documento PDF acessando a propriedade BLOB do objeto MTOM. Isso retorna uma matriz de bytes que podem ser gravados em um arquivo PDF.

Consulte também:

Desmontagem programática de documentos PDF

Chamar o AEM Forms usando MTOM

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now