Desmontar um documento do PDF usando a API do serviço da Web disassemble-a-pdf-document-usingthe-web-service-api
Desmonte um documento do PDF usando a API do Serviço de Assembler (serviço da Web):
-
Inclua 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 Substituir localhost
com o endereço IP do servidor que hospeda a AEM Forms. -
Crie um cliente Assembler PDF.
-
Crie um
AssemblerServiceClient
usando seu construtor padrão. -
Crie um
AssemblerServiceClient.Endpoint.Address
usando oSystem.ServiceModel.EndpointAddress
construtor. 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
). Não é necessário usar a variávellc_version
atributo. Esse atributo é usado ao criar uma referência de serviço. -
Crie um
System.ServiceModel.BasicHttpBinding
obtendo o valor da variávelAssemblerServiceClient.Endpoint.Binding
campo. Converta o valor de retorno paraBasicHttpBinding
. -
Defina as
System.ServiceModel.BasicHttpBinding
do objetoMessageEncoding
campo paraWSMessageEncoding.Mtom
. Esse valor garante que o MTOM seja usado. -
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 correspondente da senha 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
-
-
Faça referência a um documento DDX existente.
- Crie um
BLOB
usando seu construtor. OBLOB
é usado para armazenar o documento DDX. - Crie um
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 da variável
System.IO.FileStream
objeto. Você pode determinar o tamanho da matriz de bytes obtendo a variávelSystem.IO.FileStream
do objetoLength
propriedade. - Preencha a matriz de bytes com dados de fluxo chamando a variável
System.IO.FileStream
do objetoRead
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido. - Preencha o
BLOB
ao atribuir seuMTOM
com o conteúdo da matriz de bytes.
- Crie um
-
Faça referência a um documento PDF para desmontar.
- Crie um
BLOB
usando seu construtor. OBLOB
é usado para armazenar o documento PDF de entrada. EssaBLOB
é passado para oinvokeOneDocument
como um argumento. - Crie um
System.IO.FileStream
chamando seu construtor e passando um valor de string que representa o local do arquivo do documento de PDF de entrada e o modo no qual o arquivo deve 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 a variávelSystem.IO.FileStream
do objetoLength
propriedade. - Preencha a matriz de bytes com dados de fluxo chamando a variável
System.IO.FileStream
do objetoRead
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido. - Preencha o
BLOB
ao atribuir seuMTOM
o conteúdo da matriz de bytes. - Crie um
MyMapOf_xsd_string_To_xsd_anyType
objeto. Este objeto de coleção é usado para armazenar o PDF para desmontar. - Crie um
MyMapOf_xsd_string_To_xsd_anyType_Item
objeto. - Atribua um valor de string que represente o nome da chave à variável
MyMapOf_xsd_string_To_xsd_anyType_Item
do objetokey
campo. Esse valor deve corresponder ao valor do elemento PDF source especificado no documento DDX. - Atribua o
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
paraMyMapOf_xsd_string_To_xsd_anyType
objeto. Chame oMyMapOf_xsd_string_To_xsd_anyType
object'Add
e passe oMyMapOf_xsd_string_To_xsd_anyType
objeto.
- Crie um
-
Defina as opções de tempo de execução.
- Crie um
AssemblerOptionSpec
que armazena opções de tempo de execução usando seu construtor. - Defina as opções de tempo de execução para atender aos requisitos da empresa, atribuindo um valor a um membro de dados pertencente à
AssemblerOptionSpec
objeto. Por exemplo, para instruir o serviço Assembler a continuar o processamento de uma tarefa quando ocorrer um erro, atribuafalse
paraAssemblerOptionSpec
do objetofailOnError
campo.
- Crie um
-
Desmonte o documento PDF.
Chame o
AssemblerServiceClient
do objetoinvokeDDX
e transmita os seguintes valores:- A
BLOB
objeto que representa o documento DDX que desmonta o documento PDF - O
MyMapOf_xsd_string_To_xsd_anyType
objeto que contém o documento PDF para desmontar - Um
AssemblerOptionSpec
objeto que especifica as opções de tempo de execução
O
invokeDDX
retorna um métodoAssemblerResult
objeto que contém os resultados da tarefa 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. - Iterar por meio do
Map
para obter cada documento resultante. Em seguida, converta esse membro da matrizvalue
paraBLOB
. - Extraia os dados binários que representam o documento PDF acessando seu
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 do PDF de maneira programática
Chamar o AEM Forms usando MTOM