Desmontar um documento PDF usando a API de serviço Web disassemble-a-pdf-document-usingthe-web-service-api
Os exemplos e amostras 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):
-
Incluir arquivos de projeto.
Crie um projeto Microsoft .NET que use MTOM. Certifique-se de usar a seguinte definição WSDL ao configurar uma referência de serviço:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.note note NOTE Substituir localhost
com o endereço IP do servidor que hospeda o AEM Forms. -
Crie um cliente PDF Assembler.
-
Criar um
AssemblerServiceClient
usando seu construtor padrão. -
Criar um
AssemblerServiceClient.Endpoint.Address
usando oSystem.ServiceModel.EndpointAddress
construtor. 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
). Não é necessário usar a variávellc_version
atributo. Esse atributo é usado quando você cria uma referência de serviço. -
Criar um
System.ServiceModel.BasicHttpBinding
obtendo o valor doAssemblerServiceClient.Endpoint.Binding
campo. Converter o valor de retorno emBasicHttpBinding
. -
Defina o
System.ServiceModel.BasicHttpBinding
do objetoMessageEncoding
campo paraWSMessageEncoding.Mtom
. Esse valor garante que a MTOM seja usada. -
Ative a autenticação HTTP básica executando as seguintes tarefas:
- Atribuir 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
. - Atribuir o valor constante
HttpClientCredentialType.Basic
ao campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Atribuir o valor constante
BasicHttpSecurityMode.TransportCredentialOnly
ao campoBasicHttpBindingSecurity.Security.Mode
.
- Atribuir o nome de usuário dos formulários AEM ao campo
-
-
Consulte um documento DDX existente.
- Criar um
BLOB
usando seu construtor. A variávelBLOB
objeto é usado para armazenar o documento DDX. - Criar um
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 da variável
System.IO.FileStream
objeto. Você pode determinar o tamanho da matriz de bytes obtendo oSystem.IO.FileStream
do objetoLength
propriedade. - Preencha a matriz de bytes com dados de fluxo invocando o
System.IO.FileStream
do objetoRead
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo para leitura. - Preencha o
BLOB
atribuindo seuMTOM
com o conteúdo da matriz de bytes.
- Criar um
-
Referencie um documento do PDF para desmontar.
- Criar um
BLOB
usando seu construtor. A variávelBLOB
objeto é usado para armazenar o documento PDF de entrada. EsteBLOB
objeto é passado para oinvokeOneDocument
como argumento. - Criar um
System.IO.FileStream
chamando seu construtor e transmitindo um valor de string 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 da variável
System.IO.FileStream
objeto. Você pode determinar o tamanho da matriz de bytes obtendo oSystem.IO.FileStream
do objetoLength
propriedade. - Preencha a matriz de bytes com dados de fluxo invocando o
System.IO.FileStream
do objetoRead
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo para leitura. - Preencha o
BLOB
atribuindo seuMTOM
o conteúdo da matriz de bytes. - Criar um
MyMapOf_xsd_string_To_xsd_anyType
objeto. Este objeto de coleção é usado para armazenar o PDF a ser desmontado. - Criar um
MyMapOf_xsd_string_To_xsd_anyType_Item
objeto. - Atribua um valor de string que represente o nome da chave à
MyMapOf_xsd_string_To_xsd_anyType_Item
do objetokey
campo. Este valor deve corresponder ao valor do elemento de origem PDF especificado no documento DDX. - Atribua a
BLOB
objeto que armazena o documento PDF para oMyMapOf_xsd_string_To_xsd_anyType_Item
do objetovalue
campo. - Adicione o
MyMapOf_xsd_string_To_xsd_anyType_Item
objeto para oMyMapOf_xsd_string_To_xsd_anyType
objeto. Chame oMyMapOf_xsd_string_To_xsd_anyType
object"Add
e transmita oMyMapOf_xsd_string_To_xsd_anyType
objeto.
- Criar um
-
Definir opções de tempo de execução.
- Criar um
AssemblerOptionSpec
objeto que armazena opções de tempo de execução usando seu construtor. - Defina opções de tempo de execução para atender aos requisitos da sua empresa atribuindo um valor a um membro de dados que pertença à
AssemblerOptionSpec
objeto. Por exemplo, para instruir o serviço Assembler a continuar processando um job quando ocorrer um erro, atribuafalse
para oAssemblerOptionSpec
do objetofailOnError
campo.
- Criar um
-
Desmonte o documento PDF.
Chame o
AssemblerServiceClient
do objetoinvokeDDX
e passe os seguintes valores:- A
BLOB
objeto que representa o documento DDX que desmonta o documento PDF - A variável
MyMapOf_xsd_string_To_xsd_anyType
objeto que contém o documento PDF a ser desmontado - Um
AssemblerOptionSpec
objeto que especifica as opções de tempo de execução
A variável
invokeDDX
o método retorna umAssemblerResult
objeto que contém os resultados do processo e quaisquer exceções que ocorreram. - A
-
Salve os documentos de PDF desmontados.
Para obter os documentos PDF recém-criados, execute as seguintes ações:
- Acesse o
AssemblerResult
do objetodocuments
que é umMap
objeto que contém os documentos PDF desmontados. - Repita através do
Map
para obter cada documento resultante. Em seguida, converta os membros da matrizvalue
para umBLOB
. - Extraia os dados binários que representam o documento PDF acessando seus
BLOB
do objetoMTOM
propriedade. Isso retorna uma matriz de bytes que você pode gravar em um arquivo PDF.
- Acesse o
Consulte também
Desmontando Documentos PDF de Forma Programática
Chamar o AEM Forms usando MTOM