Desmontar um documento PDF usando a API de serviço Web disassemble-a-pdf-document-usingthe-web-service-api

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

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

  1. Incluir arquivos de projeto.

    Crie um projeto 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.

    note note
    NOTE
    Substitua localhost pelo endereço IP do servidor que hospeda o AEM Forms.
  2. Crie um cliente PDF Assembler.

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

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

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

    • Defina o campo MessageEncoding do objeto System.ServiceModel.BasicHttpBinding como WSMessageEncoding.Mtom. Esse valor garante que a MTOM seja usada.

    • 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 de senha correspondente 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. Consulte 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 invocando seu construtor. Transmita um valor de string que represente o local do arquivo do documento DDX 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 Length do objeto System.IO.FileStream.
    • Preencha a matriz de bytes com os dados de fluxo invocando o método Read do objeto System.IO.FileStream e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo para leitura.
    • Preencha o objeto BLOB atribuindo sua propriedade MTOM com o conteúdo da matriz de bytes.
  4. Referencie um documento do PDF para desmontar.

    • Crie um objeto BLOB usando seu construtor. O objeto BLOB é usado para armazenar o documento de PDF de entrada. Este objeto BLOB é passado para invokeOneDocument como argumento.
    • Crie um objeto System.IO.FileStream chamando seu construtor e transmitindo um valor de cadeia de caracteres que representa o local do arquivo do documento de 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 Length do objeto System.IO.FileStream.
    • Preencha a matriz de bytes com os dados de fluxo invocando o método Read do objeto System.IO.FileStream e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo para leitura.
    • Preencha o objeto BLOB atribuindo ao campo MTOM o conteúdo da matriz de bytes.
    • Crie um objeto MyMapOf_xsd_string_To_xsd_anyType. Este objeto de coleção é usado para armazenar o PDF a ser desmontado.
    • Crie um objeto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Atribua um valor de cadeia de caracteres que represente o nome da chave para o campo key do objeto MyMapOf_xsd_string_To_xsd_anyType_Item. Este valor deve corresponder ao valor do elemento de origem PDF especificado no documento DDX.
    • Atribua o objeto BLOB que armazena o documento PDF ao campo value do objeto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Adicione o objeto MyMapOf_xsd_string_To_xsd_anyType_Item ao objeto MyMapOf_xsd_string_To_xsd_anyType. Invoque o método Add do objeto MyMapOf_xsd_string_To_xsd_anyType e passe o objeto MyMapOf_xsd_string_To_xsd_anyType.
  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 opções de tempo de execução para atender aos requisitos comerciais atribuindo um valor a um membro de dados que pertença ao objeto AssemblerOptionSpec. Por exemplo, para instruir o serviço Assembler a continuar processando um trabalho quando ocorrer um erro, atribua false ao campo failOnError do objeto AssemblerOptionSpec.
  6. Desmonte o documento PDF.

    Chame o método invokeDDX do objeto AssemblerServiceClient 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 do trabalho e as exceções que ocorreram.

  7. Salve os documentos de PDF desmontados.

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

    • Acesse o campo documents do objeto AssemblerResult, que é um objeto Map que contém os documentos PDF desmontados.
    • Repita através do objeto Map para obter cada documento resultante. Em seguida, converta o value desse membro da matriz em um BLOB.
    • Extraia os dados binários que representam o documento PDF acessando a propriedade MTOM do objeto BLOB. Isso retorna uma matriz de bytes que você pode gravar em um arquivo PDF.

Consulte também

Desmontando Documentos PDF de Forma Programática

Chamar o AEM Forms usando MTOM

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2