Desagrupar de un documento PDF mediante la API de servicio web disassemble-a-pdf-document-usingthe-web-service-api
Las muestras y los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Desmontar un documento de PDF mediante la API del servicio Assembler (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL al establecer una referencia de servicio:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.note note NOTE Reemplace localhostpor la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de PDF Assembler.
-
Cree un objeto
AssemblerServiceClientutilizando su constructor predeterminado. -
Cree un objeto
AssemblerServiceClient.Endpoint.Addressmediante el constructorSystem.ServiceModel.EndpointAddress. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/AssemblerService?blob=mtom). No necesita usar el atributolc_version. Este atributo se utiliza al crear una referencia de servicio. -
Cree un objeto
System.ServiceModel.BasicHttpBindingobteniendo el valor del campoAssemblerServiceClient.Endpoint.Binding. Convertir el valor devuelto enBasicHttpBinding. -
Establezca el campo
MessageEncodingdel objetoSystem.ServiceModel.BasicHttpBindingenWSMessageEncoding.Mtom. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
AssemblerServiceClient.ClientCredentials.UserName.UserName. - Asigne el valor de contraseña correspondiente al campo
AssemblerServiceClient.ClientCredentials.UserName.Password. - Asigne el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Hacer referencia a un documento DDX existente.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar el documento DDX. - Cree un objeto
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación de archivo del documento DDX y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando su propiedadMTOMcon el contenido de la matriz de bytes.
- Crear un objeto
-
Hacer referencia a un documento de PDF para desmontar.
- Crear un objeto
BLOBmediante su constructor. El objetoBLOBse usa para almacenar el documento del PDF de entrada. Este objetoBLOBse pasó ainvokeOneDocumentcomo argumento. - Cree un objeto
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que represente la ubicación de archivo del documento del PDF de entrada y el modo en que se debe abrir el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLengthdel objetoSystem.IO.FileStream. - Rellene la matriz de bytes con datos de secuencia invocando el método
Readdel objetoSystem.IO.FileStreamy pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOBasignando su campoMTOMal contenido de la matriz de bytes. - Crear un objeto
MyMapOf_xsd_string_To_xsd_anyType. Este objeto de colección se utiliza para almacenar el PDF que se va a desmontar. - Crear un objeto
MyMapOf_xsd_string_To_xsd_anyType_Item. - Asigne un valor de cadena que represente el nombre de clave al campo
keydel objetoMyMapOf_xsd_string_To_xsd_anyType_Item. Este valor debe coincidir con el valor del elemento de origen PDF especificado en el documento DDX. - Asigne el objeto
BLOBque almacena el documento del PDF al campovaluedel objetoMyMapOf_xsd_string_To_xsd_anyType_Item. - Agregue el objeto
MyMapOf_xsd_string_To_xsd_anyType_Itemal objetoMyMapOf_xsd_string_To_xsd_anyType. Invoque el métodoAdddel objetoMyMapOf_xsd_string_To_xsd_anyTypey pase el objetoMyMapOf_xsd_string_To_xsd_anyType.
- Crear un objeto
-
Establecer opciones en tiempo de ejecución.
- Cree un objeto
AssemblerOptionSpecque almacene opciones en tiempo de ejecución mediante su constructor. - Establezca las opciones en tiempo de ejecución para satisfacer sus necesidades comerciales asignando un valor a un miembro de datos que pertenezca al objeto
AssemblerOptionSpec. Por ejemplo, para indicar al servicio Assembler que continúe procesando un trabajo cuando se produzca un error, asignefalseal campofailOnErrordel objetoAssemblerOptionSpec.
- Cree un objeto
-
Desmontar el documento del PDF.
Invoque el método
invokeDDXdel objetoAssemblerServiceClienty pase los siguientes valores:- Un objeto
BLOBque representa el documento DDX que desensambla el documento PDF - El objeto
MyMapOf_xsd_string_To_xsd_anyTypeque contiene el documento de PDF que se va a desmontar - Un objeto
AssemblerOptionSpecque especifica opciones en tiempo de ejecución
El método
invokeDDXdevuelve un objetoAssemblerResultque contiene los resultados del trabajo y las excepciones que se han producido. - Un objeto
-
Guarde los documentos del PDF desmontados.
Para obtener los documentos del PDF recién creados, realice las siguientes acciones:
- Obtenga acceso al campo
documentsdel objetoAssemblerResult, que es un objetoMapque contiene los documentos de PDF desensamblados. - Recorra en iteración el objeto
Mappara obtener cada documento resultante. A continuación, convierta elvaluede ese miembro de la matriz en unBLOB. - Extraiga los datos binarios que representan el documento de PDF al tener acceso a la propiedad
MTOMde su objetoBLOB. Devuelve una matriz de bytes que puede escribir en un archivo PDF.
- Obtenga acceso al campo
Consulte también
Desmontaje programático de documentos PDF
Invocar AEM Forms mediante MTOM