Desmonte um documento PDF usando a API do Serviço de Assembler (serviço da Web):
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
.
Substitua localhost
pelo endereço IP do servidor que hospeda o AEM Forms.
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:
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
ao campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
ao campo BasicHttpBindingSecurity.Security.Mode
.Faça referência a um documento DDX existente.
BLOB
usando seu construtor. O objeto BLOB
é usado para armazenar o documento DDX.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.System.IO.FileStream
. Você pode determinar o tamanho da matriz de bytes obtendo a propriedade System.IO.FileStream
do objeto Length
.System.IO.FileStream
do objeto Read
e passando a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido.BLOB
atribuindo sua propriedade MTOM
ao conteúdo da matriz de bytes.Faça referência a um documento PDF para desmontar.
BLOB
usando seu construtor. O objeto BLOB
é usado para armazenar o documento PDF de entrada. Esse objeto BLOB
é passado para invokeOneDocument
como um argumento.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.System.IO.FileStream
. Você pode determinar o tamanho da matriz de bytes obtendo a propriedade System.IO.FileStream
do objeto Length
.System.IO.FileStream
do objeto Read
e passando a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido.BLOB
atribuindo seu campo MTOM
ao conteúdo da matriz de bytes.MyMapOf_xsd_string_To_xsd_anyType
. Esse objeto de coleção é usado para armazenar o PDF para desmontar.MyMapOf_xsd_string_To_xsd_anyType_Item
.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.BLOB
que armazena o documento PDF ao campo MyMapOf_xsd_string_To_xsd_anyType_Item
value
do 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
.Defina as opções de tempo de execução.
AssemblerOptionSpec
que armazene opções de tempo de execução usando seu construtor .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.Desmonte o documento PDF.
Chame o método AssemblerServiceClient
do objeto invokeDDX
e passe os seguintes valores:
BLOB
que representa o documento DDX que desmonta o documento PDFMyMapOf_xsd_string_To_xsd_anyType
que contém o documento PDF a ser desmontadoAssemblerOptionSpec
que especifica as opções de tempo de execuçãoO método invokeDDX
retorna um objeto AssemblerResult
que contém os resultados da tarefa e quaisquer exceções que ocorreram.
Salve os documentos PDF desmontados.
Para obter os documentos PDF recém-criados, execute as seguintes ações:
AssemblerResult
do objeto documents
, que é um objeto Map
que contém os documentos PDF desmontados.Map
para obter cada documento resultante. Em seguida, converta o membro da matriz value
em um BLOB
.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