Desagrupar de un documento PDF mediante la API de servicio web disassemble-a-pdf-document-usingthe-web-service-api
Desmonte un documento del PDF utilizando 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 WSDL al configurar una referencia de servicio:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente de ensamblador de PDF.
-
Cree un
AssemblerServiceClientusando su constructor predeterminado. -
Cree un
AssemblerServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo,http://localhost:8080/soap/services/AssemblerService?blob=mtom). No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deAssemblerServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
AssemblerServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
AssemblerServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Asignar el nombre de usuario de los formularios AEM al campo
-
-
Haga referencia a un documento DDX existente.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar el documento DDX. - Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación del archivo del documento DDX y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando suMTOMcon el contenido de la matriz de bytes.
- Cree un
-
Haga referencia a un documento del PDF para desmontarlo.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar el documento del PDF de entrada. EstaBLOBse pasa alinvokeOneDocumentcomo argumento. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento del PDF de entrada y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStreamdel objetoLengthpropiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStreamdel objetoReady pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOBasignando suMTOMcampo el contenido de la matriz de bytes. - Cree un
MyMapOf_xsd_string_To_xsd_anyTypeobjeto. Este objeto de colección se utiliza para almacenar el PDF que se va a desmontar. - Cree un
MyMapOf_xsd_string_To_xsd_anyType_Itemobjeto. - Asigne un valor de cadena que represente el nombre de clave a la variable
MyMapOf_xsd_string_To_xsd_anyType_Itemdel objetokeycampo . Este valor debe coincidir con el valor del elemento de origen del PDF especificado en el documento DDX. - Asigne la variable
BLOBobjeto que almacena el documento del PDF en elMyMapOf_xsd_string_To_xsd_anyType_Itemdel objetovaluecampo . - Agregue la variable
MyMapOf_xsd_string_To_xsd_anyType_ItemalMyMapOf_xsd_string_To_xsd_anyTypeobjeto. Invocar elMyMapOf_xsd_string_To_xsd_anyTypeobject’Addy pase elMyMapOf_xsd_string_To_xsd_anyTypeobjeto.
- Cree un
-
Establezca las opciones de tiempo de ejecución.
- Cree un
AssemblerOptionSpecque almacena opciones en tiempo de ejecución mediante su constructor. - Configure las opciones en tiempo de ejecución para satisfacer los requisitos empresariales asignando un valor a un miembro de datos que pertenezca al grupo
AssemblerOptionSpecobjeto. Por ejemplo, para solicitar al servicio Assembler que continúe procesando un trabajo cuando se produzca un error, asignefalseaAssemblerOptionSpecdel objetofailOnErrorcampo .
- Cree un
-
Desmonte el documento del PDF.
Invocar el
AssemblerServiceClientdel objetoinvokeDDXy pase los siguientes valores:- A
BLOBobjeto que representa el documento DDX que desmonta el documento PDF - La variable
MyMapOf_xsd_string_To_xsd_anyTypeobjeto que contiene el documento del PDF que se va a desmontar - Un
AssemblerOptionSpecobjeto que especifica opciones en tiempo de ejecución
La variable
invokeDDXdevuelve un valorAssemblerResultobjeto que contiene los resultados del trabajo y cualquier excepción que se haya producido. - A
-
Guarde los documentos de PDF desmontados.
Para obtener los documentos de PDF recién creados, realice las siguientes acciones:
- Acceda a la
AssemblerResultdel objetodocuments, que es unMapque contiene los documentos de PDF desmontados. - Iterar a través de la variable
Mappara obtener cada documento resultante. A continuación, cree elvalueaBLOB. - Extraiga los datos binarios que representan el documento del PDF accediendo a su
BLOBdel objetoMTOMpropiedad. Esto devuelve una matriz de bytes que puede escribir en un archivo PDF.
- Acceda a la
Consulte también
Desmontaje programático de documentos PDF
Invocación de AEM Forms mediante MTOM