Crear flujos de salida de documento creating-document-output-streams
Acerca del servicio de salida
El servicio Output permite generar documentos como PDF (incluidos documentos de PDF/A), PostScript, Printer Control Language (PCL) y los siguientes formatos de etiqueta:
- Zebra - ZPL
- Interė - IPL
- Datamax - DPL
- TecToshiba - TPCL
Con el servicio Output, puede combinar los datos de formulario XML con un diseño de formulario y enviar el documento a una impresora o archivo de red.
Existen dos formas de pasar un diseño de formulario (un archivo XDP) al servicio Output. Puede pasar un com.adobe.idp.Document instancia que contiene un diseño de formulario para el servicio Output . O puede pasar un valor de URI que especifique la ubicación del diseño de formulario. Ambas maneras se discuten en Programación con formularios AEM.
Las siguientes secciones muestran cómo pasar un diseño de formulario al servicio Output utilizando un valor URI:
Las secciones siguientes muestran cómo pasar un diseño de formulario dentro de un com.adobe.idp.Document instancia:
Una consideración a la hora de decidir qué técnica utilizar es si obtiene el diseño de formulario de otro servicio de AEM Forms y, a continuación, páselo dentro de un com.adobe.idp.Document instancia. Ambas Pasar documentos al servicio de salida y Creación de documentos del PDF mediante fragmentos las secciones muestran cómo obtener un diseño de formulario de otro servicio de AEM Forms. La primera sección recupera el diseño de formulario de Content Services (obsoleto). La segunda sección recupera el diseño de formulario del servicio Assembler.
Si obtiene el diseño de formulario de una ubicación fija, como el sistema de archivos, puede utilizar cualquiera de estas técnicas. Es decir, puede especificar el valor de URI en un archivo XDP o utilizar un com.adobe.idp.Document instancia.
Para pasar un valor de URI que especifique la ubicación del diseño de formulario al crear un documento PDF, utilice la variable generatePDFOutput método. Del mismo modo, para pasar un com.adobe.idp.Document al servicio Output al crear un documento de PDF, utilice el generatePDFOutput2 método.
Al enviar un flujo de salida a una impresora de red, también puede utilizar cualquiera de estas técnicas. Para enviar un flujo de salida a una impresora pasando un com.adobe.idp.Document instancia que contiene un diseño de formulario, utilice la variable sendToPrinter2método. Para enviar un flujo de salida a una impresora pasando un valor de URI, utilice la variable sendToPrintermétodo. La variable Envío de emisiones de impresión a impresoras utiliza el sendToPrinter método.
Puede realizar estas tareas utilizando el servicio Output :
- Creación de documentos de PDF
- Creación de documentos de PDF/A
- Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida
- Creación de documentos del PDF mediante fragmentos
- Imprimir en archivos
- Envío de emisiones de impresión a impresoras
- Creación de varios archivos de salida
- Creación de reglas de búsqueda
- Acoplamiento de documentos del PDF
Creación de documentos de PDF creating-pdf-documents
Puede utilizar el servicio Output para crear un documento de PDF basado en un diseño de formulario y en los datos de formulario XML proporcionados. El documento PDF creado por el servicio Output no es un documento PDF interactivo; un usuario no puede introducir ni modificar datos de formulario.
Si desea crear un documento de PDF pensado para el almacenamiento a largo plazo, se recomienda crear un documento de PDF/A. (Consulte Creación de documentos de PDF/A.)
Para crear un formulario de PDF interactivo que permita a un usuario introducir datos, utilice el servicio Forms. (Consulte Renderización de PDF forms interactivos.)
Resumen de los pasos summary-of-steps
Para crear un documento de PDF, realice los pasos siguientes:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Establezca las opciones de tiempo de ejecución del PDF.
- Establezca las opciones de procesamiento en tiempo de ejecución.
- Genere un documento de PDF.
- Recupere los resultados de la operación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms.
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceService objeto.
Referencia a un origen de datos XML
Para combinar datos con el diseño de formulario, debe hacer referencia a un origen de datos XML que contenga datos. Debe existir un elemento XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML si se especifican todos los elementos XML.
Consulte el siguiente ejemplo de formulario de solicitud de préstamo.
Para combinar datos en este diseño de formulario, debe crear un origen de datos XML que corresponda al formulario. El siguiente XML representa un origen de datos XML XDP que corresponde al formulario de aplicación hipotecaria de ejemplo.
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
Establecer opciones de tiempo de ejecución del PDF
Establezca la opción URI de archivo al crear un documento de PDF. Esta opción especifica el nombre y la ubicación del archivo de PDF que genera el servicio Output.
Establecer las opciones de procesamiento en tiempo de ejecución
Al crear un documento PDF, se pueden definir opciones de renderización en tiempo de ejecución. Aunque estas opciones no son necesarias (a diferencia de las opciones de tiempo de ejecución del PDF que son necesarias), puede realizar tareas como mejorar el rendimiento del servicio Output . Por ejemplo, puede almacenar en caché el diseño de formulario que utiliza el servicio Output para mejorar su rendimiento.
Si utiliza un formulario Acrobat etiquetado como entrada, no puede utilizar el Java del servicio de salida o la API del servicio web para desactivar la configuración etiquetada. Si intenta establecer esta opción mediante programación en false, el documento de PDF de resultados aún está etiquetado.
RenderOptionsSpec referencia de clase. (Consulte Referencia de la API de AEM Forms).Generar un documento de PDF
Después de hacer referencia a un origen de datos XML válido que contiene datos de formulario y de definir las opciones en tiempo de ejecución, puede invocar el servicio Output , que genera un documento PDF.
Al generar un documento de PDF, se especifican los valores de URI necesarios para que el servicio Output cree un documento de PDF. Un diseño de formulario se puede almacenar en ubicaciones como el sistema de archivos del servidor o como parte de una aplicación de AEM Forms. Se puede hacer referencia a un diseño de formulario (u otros recursos, como un archivo de imagen) que existe como parte de una aplicación de Forms mediante el valor URI raíz del contenido repository:///. Por ejemplo, considere el siguiente diseño de formulario denominado Loan.xdp ubicada dentro de una aplicación de Forms llamada Aplicaciones/FormsApplication:
Para acceder al archivo Loan.xdp que se muestra en la ilustración anterior, especifique repository:///Applications/FormsApplication/1.0/FormsFolder/ como el tercer parámetro que se pasa a la variable OutputClient del objeto generatePDFOutput método. Especifique el nombre del formulario (Loan.xdp) como el segundo parámetro pasado al OutputClient del objeto generatePDFOutput método.
Si el archivo XDP contiene imágenes (u otros recursos como fragmentos), coloque los recursos en la misma carpeta de aplicación que el archivo XDP. AEM Forms utiliza el URI raíz del contenido como ruta base para resolver referencias a imágenes. Por ejemplo, si el archivo Loan.xdp contiene una imagen, asegúrese de colocar la imagen en Applications/FormsApplication/1.0/FormsFolder/.
OutputClient del objeto generatePDFOutput o generatePrintedOutput métodos.Recuperar los resultados de la operación
Una vez que el servicio Output realiza una operación, devuelve varios elementos de datos, como datos XML de estado, que especifican si la operación se realizó correctamente.
Consulte también
Creación de un documento de PDF mediante la API de Java
Creación de un documento de PDF mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de un documento de PDF mediante la API de Java create-a-pdf-document-using-the-java-api
Cree un documento de PDF utilizando la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Cliente de salida.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Haga referencia a un origen de datos XML.
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que se utiliza para rellenar el documento PDF utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor. Pase eljava.io.FileInputStreamobjeto.
- Cree un
-
Establezca las opciones de tiempo de ejecución del PDF.
- Cree un
PDFOutputOptionsSpecusando su constructor. - Establezca la opción URI de archivo invocando la variable
PDFOutputOptionsSpecdel objetosetFileURImétodo. Pase un valor de cadena que especifique la ubicación del archivo de PDF que genera el servicio Output. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente.
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output invocando el
RenderOptionsSpecdel objetosetCacheEnabledy pasartrue.
note note NOTE No se puede establecer la versión del documento del PDF utilizando la variable RenderOptionsSpecdel objetosetPdfVersionmétodo si el documento de entrada es un formulario de Acrobat (un formulario creado en Acrobat) o un documento XFA que está firmado o certificado. El documento del PDF de salida conserva la versión original del PDF. Del mismo modo, no puede establecer la opción Adobe PDF etiquetada invocando la variableRenderOptionsSpecdel objetosetTaggedPDF* método si el documento de entrada es un formulario de Acrobat o un documento XFA firmado o certificado. *note note NOTE No se puede establecer la opción de PDF linealizado utilizando la variable RenderOptionsSpecdel objetosetLinearizedPDFmétodo si el documento del PDF de entrada está certificado o firmado digitalmente. (Consulte Firma digital de documentos PDF.) - Cree un
-
Genere un documento de PDF.
Cree un documento de PDF invocando la variable
OutputClientdel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario.
La variable
generatePDFOutputdevuelve un valorOutputResultque contiene los resultados de la operación.note note NOTE Al generar un documento de PDF invocando la variable generatePDFOutputTenga en cuenta que no puede combinar datos con un formulario de PDF XFA que esté firmado o certificado. (Consulte Firma y certificación digitales de documentos.)note note NOTE La variable OutputResultdel objetogetRecordLevelMetaDataListdevuelve el métodonull.note note NOTE También puede crear un documento de PDF invocando la variable OutputClientdel objetogeneratePDFOutput2método. (Consulte Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida.) - A
-
Recupere los resultados de la operación.
- Recuperar un
com.adobe.idp.Documentobjeto que representa el estado delgeneratePDFOutputmediante la invocación de la funciónOutputResultdel objetogetStatusDocmétodo. Este método devuelve datos XML de estado que especifican si la operación se realizó correctamente. - Cree un
java.io.Fileque contiene los resultados de la operación. Asegúrese de que la extensión del nombre de archivo es .xml. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetStatusDocmétodo).
Aunque el servicio Output escribe el documento del PDF en la ubicación especificada por el argumento que se pasa al
PDFOutputOptionsSpecdel objetosetFileURI, puede recuperar mediante programación el documento PDF/A invocando el métodoOutputResultdel objetogetGeneratedDocmétodo. - Recuperar un
Consulte también
Inicio rápido (modo EJB): Creación de un documento de PDF mediante la API de Java
Inicio rápido (modo SOAP): Creación de un documento de PDF mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Creación de un documento de PDF mediante la API de servicio web create-a-pdf-document-using-the-web-service-api
Cree un documento de PDF mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos XML que se combinarán con el documento del PDF. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo XML que contiene los datos del formulario. - 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
-
Establecer opciones de tiempo de ejecución del PDF
- Cree un
PDFOutputOptionsSpecusando su constructor. - Establezca la opción URI de archivo asignando un valor de cadena que especifique la ubicación del archivo de PDF que genera el servicio de salida al
PDFOutputOptionsSpecdel objetofileURImiembro de datos. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente.
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output asignando el valor
trueaRenderOptionsSpecdel objetocacheEnabledmiembro de datos.
note note NOTE No se puede establecer la versión del documento del PDF utilizando la variable RenderOptionsSpecdel objetosetPdfVersionmétodo si el documento de entrada es un formulario de Acrobat (un formulario creado en Acrobat) o un documento XFA que está firmado o certificado. El documento del PDF de salida conserva la versión original del PDF. Del mismo modo, no puede establecer la opción Adobe PDF etiquetada invocando la variableRenderOptionsSpecdel objetosetTaggedPDF* método si el documento de entrada es un formulario de Acrobat o un documento XFA firmado o certificado.*note note NOTE No se puede establecer la opción de PDF linealizado utilizando la variable RenderOptionsSpecdel objetolinearizedPDFmiembro si el documento del PDF de entrada está certificado o firmado digitalmente. (Consulte Firma digital de documentos PDF.) - Cree un
-
Genere un documento de PDF.
Cree un documento de PDF invocando la variable
OutputServiceServicedel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para la invocación de servicio web). - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con datos de resultado. (Este valor de parámetro solo es necesario para la invocación de servicio web). - Un
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para la invocación de servicio web).
note note NOTE Al generar un documento de PDF invocando la variable generatePDFOutputTenga en cuenta que no puede combinar datos con un formulario de PDF XFA que esté firmado o certificado. (Consulte Firma y certificación digitales de documentos.)note note NOTE También puede crear un documento de PDF invocando la variable OutputClientdel objetogeneratePDFOutput2método. (Consulte Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida.) - A
-
Recupere los resultados de la operación.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa una ubicación de archivo XML que contiene datos de resultados. Asegúrese de que la extensión del nombre de archivo es .xml. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto que elOutputServiceServicedel objetogeneratePDFOutput(el octavo parámetro). Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMfield. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en el archivo XML invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
Consulte también
- Cree un
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
OutputServiceService del objeto generateOutput está en desuso.Creación de documentos de PDF/A creating-pdf-a-documents
Puede utilizar el servicio Output para crear un documento PDF/A. Como PDF/A es un formato de archivo para la preservación a largo plazo del contenido del documento, todas las fuentes están incrustadas y el archivo no está comprimido. Como resultado, un documento PDF/A suele ser más grande que un documento PDF estándar. Además, un documento PDF/A no contiene contenido de audio y vídeo. Al igual que otras tareas del servicio de salida, se proporciona un diseño de formulario y datos para combinar con un diseño de formulario para crear un documento PDF/A.
La especificación del PDF/A-1 consta de dos niveles de conformidad, a saber, a y b. La principal diferencia entre ambos es la compatibilidad con la estructura lógica (accesibilidad), que no es necesaria para el nivel de conformidad b. Independientemente del nivel de conformidad, PDF/A-1 dicta que todas las fuentes están incrustadas en el documento PDF/A generado.
Aunque el PDF/A es el estándar para archivar documentos de PDF, no es obligatorio que el PDF/A se utilice para archivar si un documento de PDF estándar satisface las necesidades de su empresa. El propósito de la norma de PDF/A es crear un archivo de PDF que pueda almacenarse durante un largo período de tiempo, así como cumplir los requisitos de conservación de documentos. Por ejemplo, una URL no se puede incrustar en un PDF/A porque con el tiempo la URL puede no ser válida.
Su organización debe evaluar sus propias necesidades, el tiempo durante el cual desea mantener el documento, las consideraciones sobre el tamaño del archivo y determinar su propia estrategia de archiving. Puede determinar mediante programación si un documento de PDF es compatible con PDF/A mediante el servicio DocConverter. (Consulte Determinación programática del cumplimiento de PDF/A.)
Un documento PDF/A debe utilizar la fuente especificada en el diseño de formulario y no se pueden sustituir las fuentes. Como resultado, si una fuente ubicada dentro de un documento de PDF no está disponible en el sistema operativo del host (OS), se produce una excepción.
Cuando se abre un documento PDF/A en Acrobat, se muestra un mensaje que confirma que el documento es un documento PDF/A, como se muestra en la siguiente ilustración.
Resumen de los pasos summary_of_steps-1
Para crear un documento PDF/A, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Establezca las opciones de PDF/A en tiempo de ejecución.
- Establezca las opciones de procesamiento en tiempo de ejecución.
- Genere un documento PDF/A.
- Recupere los resultados de la operación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación personalizada mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms.
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceService objeto.
Referencia a un origen de datos XML
Para combinar datos con el diseño de formulario, debe hacer referencia a un origen de datos XML que contenga datos. Debe existir un elemento XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML si se especifican todos los elementos XML.
Establecer opciones de tiempo de ejecución del PDF/A
Puede establecer la opción URI de archivo al crear un documento PDF/A. El URI es relativo al servidor de aplicaciones J2EE que aloja AEM Forms. Es decir, si establece C:\Adobe, el archivo se escribe en la carpeta del servidor, no en el equipo cliente. El URI especifica el nombre y la ubicación del archivo PDF/A que genera el servicio Output.
Establecer las opciones de procesamiento en tiempo de ejecución
Puede definir opciones de procesamiento en tiempo de ejecución al crear documentos de PDF/A. Dos opciones relacionadas con el PDF/A que puede establecer son la PDFAConformance y PDFARevisionNumber valores. La variable PDFAConformance se refiere a la forma en que un documento PDF se adhiere a los requisitos que especifican cómo se conservan los documentos electrónicos a largo plazo. Los valores válidos para esta opción son A y B. Para obtener información sobre la conformidad con los niveles a y b, consulte la especificación ISO PDF/A-1 con título ISO 19005-1 Gestión de documentos.
La variable PDFARevisionNumber hace referencia al número de revisión de un documento PDF/A. Para obtener información sobre el número de revisión de un documento PDF/A, consulte la especificación ISO PDF/A-1 con título ISO 19005-1 Gestión de documentos.
false al crear un documento PDF/A 1A. PDF/A 1A siempre será un documento PDF etiquetado. Además, no puede establecer la opción Adobe PDF etiquetado en true al crear un documento PDF/A 1B. PDF/A 1B siempre será un documento PDF sin etiquetar.Generación de un documento PDF/A
Después de hacer referencia a un origen de datos XML válido que contiene datos de formulario y de definir las opciones en tiempo de ejecución, puede invocar el servicio Output, lo que hace que genere un documento PDF/A.
Recuperar los resultados de la operación
Una vez que el servicio Output realiza una operación, devuelve varios elementos de datos, como datos XML, que especifican si la operación se realizó correctamente.
Consulte también
Creación de un documento de PDF/A mediante la API de Java
Creación de un documento de PDF/A mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de un documento de PDF/A mediante la API de Java create-a-pdf-a-document-using-the-java-api
Cree un documento PDF/A utilizando la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Cliente de salida.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Haga referencia a un origen de datos XML.
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que se utiliza para rellenar el documento PDF/A utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Establezca las opciones de PDF/A en tiempo de ejecución.
- Cree un
PDFOutputOptionsSpecusando su constructor. - Establezca la opción URI de archivo invocando la variable
PDFOutputOptionsSpecdel objetosetFileURImétodo. Pase un valor de cadena que especifique la ubicación del archivo de PDF que genera el servicio Output. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente.
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Configure las variables
PDFAConformanceinvocando la variableRenderOptionsSpecdel objetosetPDFAConformancemétodo y pasar unaPDFAConformancevalor de enumeración que especifica el nivel de conformidad. Por ejemplo, para especificar el nivel de conformidad A, pasePDFAConformance.A. - Configure las variables
PDFARevisionNumberinvocando la variableRenderOptionsSpecdel objetosetPDFARevisionNumbermétodo y pasoPDFARevisionNumber.Revision_1.
note note NOTE La versión de PDF de un documento de PDF/A es 1.4 independientemente del valor que especifique para la variable RenderOptionsSpecdel objetosetPdfVersionmétodo. - Cree un
-
Genere un documento PDF/A.
Cree un documento de PDF/A invocando la variable
OutputClientdel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF/A, especifiqueTransformationFormat.PDFA. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario.
La variable
generatePDFOutputdevuelve un valorOutputResultque contiene los resultados de la operación.note note NOTE La variable OutputResultdel objetogetRecordLevelMetaDataListdevuelve el métodonull*. *note note NOTE También puede crear un documento /A de PDF invocando la variable OutputClientdel objetogeneratePDFOutput2. (Consulte Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida.) - A
-
Recupere los resultados de la operación.
- Cree un
com.adobe.idp.Documentobjeto que representa el estado delgeneratePDFOutputinvocando el métodoOutputResultdel objetogetStatusDocmétodo. - Cree un
java.io.Fileque contendrá los resultados de la operación. Asegúrese de que la extensión del nombre de archivo es .xml. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetStatusDocmétodo).
note note NOTE Aunque el servicio Output escribe el documento PDF/A en la ubicación especificada por el argumento que se pasa al PDFOutputOptionsSpecdel objetosetFileURI, puede recuperar mediante programación el documento PDF/A invocando el métodoOutputResultdel objetogetGeneratedDoc* método.* - Cree un
Consulte también
Inicio rápido (modo SOAP): Creación de un documento de PDF/A mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión.
Creación de un documento de PDF/A mediante la API de servicio web create-a-pdf-a-document-using-the-web-service-api
Cree un documento PDF/A utilizando la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos que se combinarán con el documento PDF/A. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF que se va a cifrar 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
-
Establezca las opciones de PDF/A en tiempo de ejecución.
- Cree un
PDFOutputOptionsSpecusando su constructor. - Establezca la opción URI de archivo asignando un valor de cadena que especifique la ubicación del archivo de PDF que genera el servicio de salida al
PDFOutputOptionsSpecdel objetofileURImiembro de datos. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Configure las variables
PDFAConformanceasignando unPDFAConformancevalor de enumeración deRenderOptionsSpecdel objetoPDFAConformancemiembro de datos. Por ejemplo, para especificar el nivel de conformidad A, asignePDFAConformance.Aa este miembro de datos. - Configure las variables
PDFARevisionNumberasignando unPDFARevisionNumbervalor de enumeración deRenderOptionsSpecdel objetoPDFARevisionNumbermiembro de datos. AsignarPDFARevisionNumber.Revision_1a este miembro de datos.
note note NOTE La versión PDF de un documento PDF/A es 1.4 independientemente del valor que especifique. - Cree un
-
Genere un documento PDF/A.
Cree un documento de PDF invocando la variable
OutputServiceServicedel objetogeneratePDFOutputy pasando los siguientes valores:- Un valor de enumeración TransformationFormat. Para generar un documento de PDF, especifique
TransformationFormat.PDFA. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para invocar un servicio web). - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con datos de resultado. (Este valor de parámetro solo es necesario para invocar un servicio web). - Un
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para invocar un servicio web).
note note NOTE También puede crear un documento /A de PDF invocando la variable OutputClientdel objetogeneratePDFOutput2. (Consulte Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida.) - Un valor de enumeración TransformationFormat. Para generar un documento de PDF, especifique
-
Recupere los resultados de la operación.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa una ubicación de archivo XML que contiene datos de resultados. Asegúrese de que la extensión del nombre de archivo es .xml. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto que elOutputServiceServicedel objetogeneratePDFOutput(el octavo parámetro). Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMcampo . - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en el archivo XML invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Pasar documentos ubicados en Content Services (obsoleto) al servicio de salida passing-documents-located-in-content-services-deprecated-to-the-output-service
El servicio Output procesa un formulario de PDF no interactivo basado en un diseño de formulario que normalmente se guarda como archivo XDP y se crea en Designer. Puede pasar un com.adobe.idp.Document objeto que contiene el diseño de formulario en el servicio Output. A continuación, el servicio Output procesa el diseño de formulario ubicado en la variable com.adobe.idp.Document objeto.
Una ventaja de pasar un com.adobe.idp.Document al servicio de salida es que otras operaciones de servicio de AEM Forms devuelven un com.adobe.idp.Document instancia. Es decir, puede obtener un com.adobe.idp.Document de otra operación de servicio y renderícela. Por ejemplo, supongamos que un archivo XDP se almacena en un nodo de Content Services (obsoleto) denominado /Company Home/Form Designs, como se muestra en la siguiente ilustración.
Puede recuperar mediante programación Loan.xdp de Content Services (obsoleto) y pasar el archivo XDP al servicio Output dentro de un com.adobe.idp.Document objeto.
Resumen de los pasos summary_of_steps-2
Para pasar un documento obtenido de Content Services (desaprobada) al servicio Output , realice las siguientes tareas:
- Incluir archivos de proyecto.
- Cree un objeto Output y un objeto Document Management Client API.
- Recupere el diseño de formulario de Content Services (obsoleto).
- Procese el formulario de PDF no interactivo.
- Realice una acción con el flujo de datos.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, incluya los archivos proxy.
Creación de una salida y un objeto de API de cliente de Document Management
Para poder realizar mediante programación una operación de API de servicio de salida, cree un objeto de API de cliente de salida. Además, como este flujo de trabajo recupera un archivo XDP de Content Services (obsoleto), cree un objeto de API de Document Management.
Recuperar el diseño de formulario de Content Services (obsoleto)
Recupere el archivo XDP de Content Services (obsoleto) mediante Java o la API de servicio web. El archivo XDP se devuelve dentro de un com.adobe.idp.Document instancia (o una BLOB instancia si utiliza servicios web). A continuación, puede pasar la variable com.adobe.idp.Document al servicio Output.
Representar el formulario de PDF no interactivo
Para procesar un formulario no interactivo, pase el com.adobe.idp.Document instancia que se devolvió de Content Services (desaprobada) al servicio de salida.
generatePDFOutput2y g eneratePrintedOutput2aceptar com.adobe.idp.Document objeto que contiene un diseño de formulario. También puede pasar un com.adobe.idp.Documentque contiene el diseño de formulario al servicio Output al enviar una secuencia de impresión a una impresora de red.Realizar una acción con el flujo de datos del formulario
Puede guardar el formulario no interactivo como un archivo PDF. El formulario se puede ver en Adobe Reader o Acrobat.
Consulte también
Pasar documentos al servicio de salida mediante la API de Java
Pasar documentos al servicio de salida mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de documentos del PDF mediante fragmentos
Pasar documentos al servicio de salida mediante la API de Java pass-documents-to-the-output-service-using-the-java-api
Pase un documento recuperado de Content Services (desaprobada) mediante el servicio de salida y la API de Content Services (desaprobada) (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar y adobe-contentservices-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Output y un objeto Document Management Client API.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. (Consulte Configuración de las propiedades de conexión.) - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto. - Cree un
DocumentManagementServiceClientImplusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Recupere el diseño de formulario de Content Services (obsoleto).
Invocar el
DocumentManagementServiceClientImpldel objetoretrieveContenty pase los siguientes valores:- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
SpacesStore. Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la ruta completa del contenido que se va a recuperar (por ejemplo,
/Company Home/Form Designs/Loan.xdp). Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la versión. Este valor es un parámetro opcional y puede pasar una cadena vacía. En este caso, se recupera la versión más reciente.
La variable
retrieveContentel método devuelve unCRCResultque contiene el archivo XDP. Recuperar uncom.adobe.idp.Documentinvocando la variableCRCResultdel objetogetDocumentmétodo. - Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
-
Procese el formulario de PDF no interactivo.
Invocar el
OutputClientdel objetogeneratePDFOutput2y pase los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica la raíz del contenido donde se encuentran los recursos adicionales, como imágenes.
- A
com.adobe.idp.Documentobjeto que representa el diseño de formulario (utilice la instancia devuelta por la variableCRCResultdel objetogetDocumentmétodo). - A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario.
La variable
generatePDFOutput2devuelve un valorOutputResultque contiene los resultados de la operación. - A
-
Realice una acción con la secuencia de datos del formulario.
- Recuperar un
com.adobe.idp.Documentobjeto que representa el formulario no interactivo invocando la variableOutputResultdel objetogetGeneratedDocmétodo. - Cree un
java.io.Fileque contiene los resultados de la operación. Asegúrese de que la extensión del nombre de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetGeneratedDocmétodo).
- Recuperar un
Consulte también
Inicio rápido (modo EJB): Pasar documentos al servicio de salida mediante la API de Java
Inicio rápido (modo SOAP): Pasar documentos al servicio de salida mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Pasar documentos al servicio de salida mediante la API de servicio web pass-documents-to-the-output-service-using-the-web-service-api
Pase un documento recuperado de Content Services (desaprobada) mediante el servicio de salida y la API de Content Services (desaprobada) (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Dado que esta aplicación cliente invoca dos servicios de AEM Forms, cree dos referencias de servicio. Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio Output :
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio de gestión de documentos:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1.Porque la variable
BLOBel tipo de datos es común a ambas referencias de servicio; califique completamente la variableBLOBtipo de datos al utilizarla. En el inicio rápido correspondiente del servicio web, todas lasBLOBlas instancias están completamente cualificadas.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto Output y un objeto Document Management Client API.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. Pase un valor de cadena que especifique el WSDL al servicio de Forms (por ejemplo,http://localhost:8080/soap/services/OutputService?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 deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Asignar el nombre de usuario de los formularios AEM al campo
-
Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
note note NOTE Repita estos pasos para el DocumentManagementServiceClient* cliente de servicio. * -
-
Recupere el diseño de formulario de Content Services (obsoleto).
Recupere contenido invocando la variable
DocumentManagementServiceClientdel objetoretrieveContenty pasando los siguientes valores:- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
SpacesStore. Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la ruta completa del contenido que se va a recuperar (por ejemplo,
/Company Home/Form Designs/Loan.xdp). Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la versión. Este valor es un parámetro opcional y puede pasar una cadena vacía. En este caso, se recupera la versión más reciente.
- Un parámetro de salida de cadena que almacena el valor del vínculo de navegación.
- A
BLOBparámetro de salida que almacena el contenido. Puede utilizar este parámetro de salida para recuperar el contenido. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeparámetro de salida que almacena atributos de contenido. - A
CRCResultparámetro de salida. En lugar de usar este objeto, puede usar la variableBLOBparámetro de salida para recuperar el contenido.
- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
-
Procese el formulario de PDF no interactivo.
Invocar el
OutputServiceClientdel objetogeneratePDFOutput2y pase los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica la raíz del contenido donde se encuentran los recursos adicionales, como imágenes.
- A
BLOBobjeto que representa el diseño de formulario (utilice elBLOBinstancia devuelta por Content Services (desaprobada). - A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - Una salida
BLOBobjeto que rellena elgeneratePDFOutput2método. La variablegeneratePDFOutput2rellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para la invocación de servicio web). - Una salida
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para la invocación de servicio web).
La variable
generatePDFOutput2el método devuelve unBLOBobjeto que contiene el formulario de PDF no interactivo. - A
-
Realice una acción con la secuencia de datos del formulario.
- Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación del archivo del documento del PDF interactivo y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
BLOBobjeto recuperado delgeneratePDFOutput2método. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Pasar documentos ubicados en el Repositorio al Servicio de Salida passing-documents-located-in-the-repository-to-the-output-service
El servicio Output procesa un formulario de PDF no interactivo basado en un diseño de formulario que normalmente se guarda como archivo XDP y se crea en Designer. Puede pasar un com.adobe.idp.Document objeto que contiene el diseño de formulario en el servicio Output. A continuación, el servicio Output procesa el diseño de formulario ubicado en la variable com.adobe.idp.Document objeto.
Una ventaja de pasar un com.adobe.idp.Document al servicio de salida es que otras operaciones de servicio de AEM Forms devuelven un com.adobe.idp.Document instancia. Es decir, puede obtener un com.adobe.idp.Document de otra operación de servicio y renderícela. Por ejemplo, suponga que un archivo XDP se almacena en el repositorio de AEM Forms, como se muestra en la siguiente ilustración.
La variable FormsFolder es una ubicación definida por el usuario en el repositorio de AEM Forms (esta ubicación es un ejemplo y no existe de forma predeterminada). En este ejemplo, un diseño de formulario llamado Loan.xdp se encuentra en esta carpeta. Además del diseño de formulario, en esta ubicación se pueden almacenar otros materiales de formulario, como imágenes. La ruta a un recurso ubicado en el repositorio de AEM Forms es:
Applications/Application-name/Application-version/Folder.../Filename
Puede recuperar mediante programación Loan.xdp del repositorio de AEM Forms y pasarlo al servicio Output dentro de un com.adobe.idp.Document objeto.
Puede crear un PDF basado en un archivo XDP ubicado en el repositorio de una de las dos maneras siguientes. Puede pasar la ubicación XDP por referencia o puede recuperar el XDP del repositorio mediante programación y pasarlo al servicio Output dentro de un archivo XDP.
Inicio rápido (modo EJB): Creación de un documento de PDF basado en un archivo XDP de aplicación mediante la API de Java (muestra cómo pasar la ubicación del archivo XDP por referencia).
Inicio rápido (modo EJB): Pasar un documento ubicado en el repositorio de AEM Forms al servicio de salida mediante la API de Java (muestra cómo recuperar mediante programación el archivo XDP del repositorio de AEM Forms y pasarlo al servicio Output dentro de un com.adobe.idp.Document ). (Esta sección describe cómo realizar esta tarea)
Resumen de los pasos summary_of_steps-3
Para pasar un documento obtenido del repositorio de AEM Forms al servicio Output , realice las siguientes tareas:
- Incluir archivos de proyecto.
- Cree un objeto Output y un objeto Document Management Client API.
- Recupere el diseño de formulario del repositorio de AEM Forms.
- Procese el formulario de PDF no interactivo.
- Realice una acción con el flujo de datos.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, incluya los archivos proxy.
Creación de una salida y un objeto de API de cliente de Document Management
Para poder realizar mediante programación una operación de API de servicio de salida, cree un objeto de API de cliente de salida. Además, como este flujo de trabajo recupera un archivo XDP de Content Services (obsoleto), cree un objeto de API de Document Management.
Recupere el diseño de formulario del repositorio de AEM Forms
Recupere el archivo XDP del repositorio de AEM Forms utilizando la API del repositorio. (Consulte Leer recursos.)
El archivo XDP se devuelve dentro de un com.adobe.idp.Document instancia (o una BLOB instancia si utiliza servicios web). A continuación, puede pasar la variable com.adobe.idp.Document del servicio Output.
Representar el formulario de PDF no interactivo
Para procesar un formulario no interactivo, pase el com.adobe.idp.Document instancia que se devolvió mediante la API del repositorio de AEM Forms.
generatePDFOutput2y generatePrintedOutput2aceptar com.adobe.idp.Documentobjeto que contiene un diseño de formulario. También puede pasar un com.adobe.idp.Document que contiene el diseño de formulario al servicio Output al enviar una secuencia de impresión a una impresora de red.Realizar una acción con el flujo de datos del formulario
Puede guardar el formulario no interactivo como un archivo PDF. El formulario se puede ver en Adobe Reader o Acrobat.
Consulte también
Pasar documentos ubicados en el repositorio al servicio de salida mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
ResourceRepositoryClient
Pasar documentos ubicados en el repositorio al servicio de salida mediante la API de Java pass-documents-located-in-the-repository-to-the-output-service-using-the-java-api
Pase un documento recuperado del repositorio utilizando el servicio de salida y la API del repositorio (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar y adobe-repository-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Output y un objeto Document Management Client API.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. (Consulte Configuración de las propiedades de conexión.) - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto. - Cree un
DocumentManagementServiceClientImplusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Recupere el diseño de formulario del repositorio de AEM Forms.
Invocar el
ResourceRepositoryClientdel objetoreadResourceContenty pase un valor de cadena que especifique la ubicación de URI al archivo XDP. Por ejemplo,/Applications/FormsApplication/1.0/FormsFolder/Loan.xdp. Este valor es obligatorio. Este método devuelve uncom.adobe.idp.Documentque representa el archivo XDP. -
Procese el formulario de PDF no interactivo.
Invocar el
OutputClientdel objetogeneratePDFOutput2y pase los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica la raíz del contenido donde se encuentran los recursos adicionales, como imágenes. Por ejemplo,
repository:///Applications/FormsApplication/1.0/FormsFolder/. - A
com.adobe.idp.Documentobjeto que representa el diseño de formulario (utilice la instancia devuelta por la variableResourceRepositoryClientdel objetoreadResourceContentmétodo). - A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario.
La variable
generatePDFOutput2devuelve un valorOutputResultque contiene los resultados de la operación. - A
-
Realice una acción con la secuencia de datos del formulario.
- Recuperar un
com.adobe.idp.Documentobjeto que representa el formulario no interactivo invocando la variableOutputResultdel objetogetGeneratedDocmétodo. - Cree un
java.io.Fileque contiene los resultados de la operación. Asegúrese de que la extensión del nombre de archivo es .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetGeneratedDocmétodo).
- Recuperar un
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Creación de documentos del PDF mediante fragmentos creating-pdf-documents-using-fragments
Puede utilizar los servicios Output y Assembler para crear un flujo de salida, como un documento PDF, basado en fragmentos. El servicio Assembler monta un documento XDP basado en fragmentos ubicados en varios archivos XDP. El documento XDP montado se pasa al servicio Output, que crea un documento PDF. Aunque este flujo de trabajo muestra un documento PDF que se está generando, el servicio Output puede generar otros tipos de salida, como ZPL, para este flujo de trabajo. Un documento PDF se utiliza únicamente para fines de discusión.
La siguiente ilustración muestra este flujo de trabajo.
Antes de leer Creación de documentos del PDF mediante fragmentos, se recomienda familiarizarse con el uso del servicio Assembler para ensamblar varios documentos XDP. (Consulte Agrupación de varios fragmentos XDP.)
Resumen de los pasos summary_of_steps-4
Para crear un documento PDF basado en fragmentos, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto cliente de salida y ensamblador.
- Utilice el servicio Assembler para generar el diseño de formulario.
- Utilice el servicio Output para generar el documento de PDF.
- Guarde el documento de PDF como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Creación de un objeto cliente de salida y ensamblador
Para poder realizar mediante programación una operación de API de servicio de salida, cree un objeto de API de cliente de salida. Además, como este flujo de trabajo invoca el servicio Assembler para crear el diseño de formulario, cree un objeto de API de cliente Assembler.
Utilice el servicio Assembler para generar el diseño de formulario
Utilice el servicio Assembler para generar el diseño de formulario mediante fragmentos. El servicio Assembler devuelve un valor com.adobe.idp.Document instancia que contiene el diseño de formulario.
Utilice el servicio Output para generar el documento del PDF
Puede utilizar el servicio Output para generar un documento de PDF utilizando el diseño de formulario creado por el servicio Assembler. Pase el com.adobe.idp.Document instancia que el servicio Assembler devolvió al servicio Output.
Guarde el documento del PDF como archivo del PDF
Una vez que el servicio Output haya creado un documento de PDF, puede guardarlo como archivo de PDF.
Consulte también
Creación de un documento de PDF basado en fragmentos mediante la API de Java
Creación de un documento de PDF basado en fragmentos mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de un documento de PDF basado en fragmentos mediante la API de Java create-a-pdf-document-based-on-fragments-using-the-java-api
Cree un documento de PDF basado en fragmentos utilizando la API de servicio de salida y la API de servicio de ensamblador (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto cliente de salida y ensamblador.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto. - Cree un
AssemblerServiceClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Utilice el servicio Assembler para generar el diseño de formulario.
Invocar el
AssemblerServiceClientdel objetoinvokeDDXy pase los siguientes valores obligatorios:- A
com.adobe.idp.Documentque representa el documento DDX que se va a utilizar. - A
java.util.Mapobjeto que contiene los archivos XDP de entrada. - A
com.adobe.livecycle.assembler.client.AssemblerOptionSpecobjeto que especifica las opciones en tiempo de ejecución, incluyendo la fuente predeterminada y el nivel de registro de trabajo.
La variable
invokeDDXel método devuelve uncom.adobe.livecycle.assembler.client.AssemblerResultque contiene el documento XDP montado. Para recuperar el documento XDP montado, realice las siguientes acciones:- Invocar el
AssemblerResultdel objetogetDocumentsmétodo. Este método devuelve unjava.util.Mapobjeto. - Iterar a través de la variable
java.util.Maphasta que encuentre el resultadocom.adobe.idp.Documentobjeto. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilemétodo para extraer el documento XDP ensamblado.
- A
-
Utilice el servicio Output para generar el documento de PDF.
Invocar el
OutputClientdel objetogeneratePDFOutput2y pase los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF - Un valor de cadena que especifica la raíz del contenido donde se encuentran los recursos adicionales, como imágenes.
- A
com.adobe.idp.Documentobjeto que representa el diseño de formulario (utilice la instancia devuelta por el servicio Assembler) - A
PDFOutputOptionsSpecobjeto que contiene opciones de tiempo de ejecución del PDF - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario
La variable
generatePDFOutput2devuelve un valorOutputResultobjeto que contiene los resultados de la operación - A
-
Guarde el documento de PDF como archivo de PDF.
- Recuperar un
com.adobe.idp.Documentobjeto que representa el documento del PDF invocando la variableOutputResultdel objetogetGeneratedDocmétodo. - Cree un
java.io.Fileque contiene los resultados de la operación. Asegúrese de que la extensión del nombre del archivo sea .pdf. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo. (Asegúrese de usar la variablecom.adobe.idp.Documentque la variablegetGeneratedDocmétodo devuelto).
- Recuperar un
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión.
Creación de un documento de PDF basado en fragmentos mediante la API de servicio web create-a-pdf-document-based-on-fragments-using-the-web-service-api
Cree un documento de PDF basado en fragmentos utilizando la API del servicio de salida y la API del servicio de ensamblador (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio Output :
code language-as3 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio Assembler:
code language-as3 http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.Porque la variable
BLOBel tipo de datos es común a ambas referencias de servicio; califique completamente la variableBLOBtipo de datos al utilizarla. En el inicio rápido correspondiente del servicio web, todas lasBLOBlas instancias están completamente cualificadas.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto cliente de salida y ensamblador.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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:
- Asigne el nombre de usuario de los formularios AEM al
OutputServiceClient.ClientCredentials.UserName.UserNamecampo . - Asigne el valor de contraseña correspondiente a la variable
OutputServiceClient.ClientCredentials.UserName.Passwordcampo . - Asignar el valor constante
HttpClientCredentialType.BasicaBasicHttpBindingSecurity.Transport.ClientCredentialTypecampo .
- Asigne el nombre de usuario de los formularios AEM al
-
Asigne la variable
BasicHttpSecurityMode.TransportCredentialOnlyvalor constante de la variableBasicHttpBindingSecurity.Security.Modecampo .
note note NOTE Repita estos pasos para el AssemblerServiceClient* objeto. * -
-
Utilice el servicio Assembler para generar el diseño de formulario.
Invocar el
AssemblerServiceClientdel objetoinvokeDDXy pase los siguientes valores:- A
BLOBobjeto que representa el documento DDX - La variable
MyMapOf_xsd_string_To_xsd_anyTypeobjeto que contiene los archivos necesarios - Un
AssemblerOptionSpecobjeto que especifica opciones en tiempo de ejecución
La variable
invokeDDXdevuelve un valorAssemblerResultque contiene los resultados del trabajo y cualquier excepción que se haya producido. Para obtener el documento XDP recién creado, realice las siguientes acciones:- Acceda a la
AssemblerResultdel objetodocuments, que es unMapque contiene los documentos de PDF resultantes. - Iterar a través de la variable
Mappara recuperar el diseño de formulario ensamblado. Realizar el almacenamiento en la memoria del miembro de la matrizvalueaBLOB. Pasa estoBLOBal servicio Output.
- A
-
Utilice el servicio Output para generar el documento de PDF.
Invocar el
OutputServiceClientdel objetogeneratePDFOutput2y pase los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica la raíz del contenido donde se encuentran los recursos adicionales, como imágenes.
- A
BLOBobjeto que representa el diseño de formulario (utilice elBLOBinstancia devuelta por el servicio Assembler). - A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - Una salida
BLOBque la variablegeneratePDFOutput2rellena el método. La variablegeneratePDFOutput2rellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para la invocación de servicio web). - Una salida
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para la invocación de servicio web).
La variable
generatePDFOutput2el método devuelve unBLOBobjeto que contiene el formulario de PDF no interactivo. - A
-
Guarde el documento de PDF como archivo de PDF.
- Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación del archivo del documento del PDF interactivo y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
BLOBobjeto recuperado delgeneratePDFOutput2método. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Imprimir en archivos printing-to-files
Puede utilizar el servicio Output para imprimir flujos como PostScript, Printer Control Language (PCL) o los siguientes formatos de etiqueta en un archivo:
- Zebra - ZPL
- Interė - IPL
- Datamax - DPL
- TecToshiba - TPCL
Con el servicio Output se pueden combinar los datos XML con un diseño de formulario y se puede imprimir el formulario en un archivo. La siguiente ilustración muestra el servicio Output creando archivos láser y de etiqueta.
Resumen de los pasos summary_of_steps-5
Para imprimir en un archivo, realice los pasos siguientes:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Defina las opciones de tiempo de ejecución de impresión necesarias para imprimir en un archivo.
- Imprima el flujo de impresión en un archivo.
- Recupere los resultados de la operación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms. (Consulte Inclusión de archivos de biblioteca Java de AEM Forms.)
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceService objeto.
Referencia a un origen de datos XML
Para imprimir un documento que contenga datos, debe hacer referencia a un origen de datos XML que contenga elementos XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML si se especifican todos los elementos XML.
Establecer las opciones de tiempo de ejecución de impresión necesarias para imprimir en un archivo
Para imprimir en un archivo, debe definir la opción de tiempo de ejecución del URI de archivo especificando la ubicación y el nombre del archivo al que se imprime el servicio Output. Por ejemplo, para indicar al servicio Output que imprima un archivo PostScript denominado MortgageForm.ps para C:\Adobe, especifique C:\Adobe\MortgageForm.ps.
PrintedOutputOptionsSpec referencia de clase en Referencia de la API de AEM Forms.Imprimir el flujo de impresión en un archivo
Después de hacer referencia a un origen de datos XML válido que contiene datos de formulario y de definir las opciones de impresión en tiempo de ejecución, puede invocar el servicio Output , que hace que imprima un archivo.
Recuperar los resultados de la operación
Una vez que el servicio Output realiza una operación, devuelve varios elementos de datos, como datos XML, que especifican si la operación se realizó correctamente.
Consulte también
Imprimir en archivos mediante la API de Java
Imprimir en archivos mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Imprimir en archivos mediante la API de Java print-to-files-using-the-java-api
Imprimir en un archivo mediante la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Cliente de salida.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Haga referencia a un origen de datos XML.
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que se utiliza para rellenar el documento utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Defina las opciones de tiempo de ejecución de impresión necesarias para imprimir en un archivo.
- Cree un
PrintedOutputOptionsSpecusando su constructor. - Especifique el archivo invocando el objeto PrintedOutputOptionsSpec
setFileURIy pasando un valor de cadena que representa el nombre y la ubicación del archivo. Por ejemplo, si desea que el servicio Output imprima en un archivo PostScript denominado* MortgageForm.ps* ubicado en C:\Adobe, especifique C:\Adobe\MortgageForm.ps. - Especifique el número de copias que desea imprimir invocando la variable
PrintedOutputOptionsSpecdel objetosetCopiesy pasando un valor entero que representa el número de copias.
- Cree un
-
Imprima el flujo de impresión en un archivo.
Imprimir en un archivo invocando la variable
OutputClientdel objetogeneratePrintedOutputy pasando los siguientes valores:- A
PrintFormatvalor de enumeración que especifica el formato de flujo de impresión que se va a crear. Por ejemplo, para crear un flujo de impresión PostScript, pasePrintFormat.PostScript. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la ubicación de archivos colaterales relacionados, como archivos de imagen.
- Un valor de cadena que especifica la ubicación del archivo XDC que se va a utilizar (puede pasar
nullsi especificó el archivo XDC que se va a usar usando la variablePrintedOutputOptionsSpec). - La variable
PrintedOutputOptionsSpecque contiene las opciones de tiempo de ejecución necesarias para imprimir en un archivo. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos del formulario.
La variable
generatePrintedOutputdevuelve un valorOutputResultque contiene los resultados de la operación.note note NOTE La variable OutputResultdel objetogetRecordLevelMetaDataListdevuelve el métodonull*. * - A
-
Recupere los resultados de la operación.
- Cree un
com.adobe.idp.Documentobjeto que representa el estado delgeneratePrintedOutputinvocando el métodoOutputResultdel objetogetStatusDoc(el métodoOutputResultel objeto fue devuelto por elgeneratePrintedOutputmétodo). - Cree un
java.io.Fileque contendrá los resultados de la operación. Asegúrese de que la extensión de archivo es XML. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetStatusDocmétodo).
- Cree un
Consulte también
Inicio rápido (modo SOAP): Impresión en un archivo mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión.
Imprimir en archivos mediante la API de servicio web print-to-files-using-the-web-service-api
Imprimir en un archivo mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos de formulario. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML que contiene datos de formulario. - 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 subinaryDatacon el contenido de la matriz de bytes.
- Cree un
-
Defina las opciones de tiempo de ejecución de impresión necesarias para imprimir en un archivo.
- Cree un
PrintedOutputOptionsSpecusando su constructor. - Especifique el archivo asignando un valor de cadena que represente la ubicación y el nombre del archivo a la variable
PrintedOutputOptionsSpecdel objetofileURImiembro de datos. Por ejemplo, si desea que el servicio Output imprima en un archivo PostScript denominado MortgageForm.ps ubicado en C:\Adobe, especifique C:\Adobe\MortgageForm.ps. - Especifique el número de copias que desea imprimir asignando un valor entero que represente el número de copias al
PrintedOutputOptionsSpecdel objetocopiesmiembros de datos.
- Cree un
-
Imprima el flujo de impresión en un archivo.
Imprimir en un archivo invocando la variable
OutputServiceServicedel objetogeneratePrintedOutputy pasando los siguientes valores:- A
PrintFormatvalor de enumeración que especifica el formato de flujo de impresión que se va a crear. Por ejemplo, para crear un flujo de impresión PostScript, pasePrintFormat.PostScript. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la ubicación de archivos colaterales relacionados, como archivos de imagen.
- Un valor de cadena que especifica la ubicación del archivo XDC que se va a utilizar (puede pasar
nullsi especificó el archivo XDC que se va a usar usando la variablePrintedOutputOptionsSpec). - La variable
PrintedOutputOptionsSpecque contiene las opciones de tiempo de ejecución de impresión necesarias para imprimir en un archivo. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos del formulario. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para invocar un servicio web). - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con datos de resultado. (Este valor de parámetro solo es necesario para invocar un servicio web). - Un
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para invocar un servicio web).
- A
-
Recupere los resultados de la operación.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa una ubicación de archivo XML que contiene datos de resultados. Asegúrese de que la extensión de archivo es XML. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto que elOutputServiceServicedel objetogeneratePDFOutput(el octavo parámetro). Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en el archivo XML invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Envío de emisiones de impresión a impresoras sending-print-streams-to-printers
Puede utilizar el servicio Output para enviar flujos de impresión como PostScript, Printer Control Language (PCL) o los siguientes formatos de etiqueta a impresoras de red:
- Zebra - ZPL
- Interė - IPL
- Datamax - DPL
- TecToshiba - TPCL
Con el servicio Output se pueden combinar los datos XML con un diseño de formulario y obtener el formulario como una secuencia de impresión. Por ejemplo, puede crear un flujo de impresión PostScript y enviarlo a una impresora de red. La siguiente ilustración muestra el servicio de salida que envía transmisiones de impresión a impresoras de red.
Resumen de los pasos summary_of_steps-6
Para enviar un flujo de impresión a una impresora de red, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Establecer opciones de tiempo de ejecución de impresión
- Recupere un documento para imprimir.
- Envíe el documento a una impresora de red.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms.
Creación de un objeto de cliente de salida
Antes de realizar una operación de servicio de salida mediante programación, cree un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceClient objeto.
Referencia a un origen de datos XML
Para imprimir un documento que contenga datos, debe hacer referencia a un origen de datos XML que contenga elementos XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML si se especifican todos los elementos XML.
Establecer opciones de tiempo de ejecución de impresión
Puede establecer las opciones en tiempo de ejecución al enviar un flujo de impresión a una impresora, incluidas las siguientes opciones:
- Copias: Especifica el número de copias que se enviarán a la impresora. El valor predeterminado es 1.
- Grapado: Se establece una opción XCI cuando se utiliza una grapadora. Esta opción se puede especificar en el modelo de configuración mediante el elemento básico y se utiliza únicamente para impresoras PS y PCL.
- OutputJog: Se establece una opción XCI cuando las páginas de salida se deben bloquear (desplazar físicamente en la bandeja de salida). Esta opción es solo para impresoras PS y PCL.
- OutputBin: Valor XCI que se utiliza para permitir que el controlador de impresión seleccione el grupo de salida adecuado.
PrintedOutputOptionsSpec referencia de clase.Recuperar un documento para imprimir
Recupere un flujo de impresión para enviarlo a una impresora. Por ejemplo, puede recuperar un archivo PostScript y enviarlo a una impresora.
Puede elegir enviar un archivo PDF si la impresora admite PDF. Sin embargo, un problema con el envío de un documento de PDF a una impresora es que cada fabricante de la impresora tiene una implementación diferente del intérprete de PDF. Es decir, algunos fabricantes de impresoras utilizan la interpretación Adobe PDF, pero depende de la impresora. Otras impresoras tienen su propio intérprete PDF. Como resultado, los resultados de impresión pueden variar.
Otra limitación del envío de un documento de PDF a una impresora es que solo imprime; no puede acceder a la selección a doble cara, a la selección de la bandeja de papel ni al grapado, excepto a través de la configuración de la impresora.
Para recuperar un documento para imprimir, utilice la variable generatePrintedOutput método. La tabla siguiente especifica los tipos de contenido que se establecen para un flujo de impresión determinado al usar la variable generatePrintedOutput método.
generatePrintedOutput2 método. Sin embargo, los inicios rápidos asociados con la sección Envío de flujos de impresión a impresoras utilizan la variable generatePrintedOutput método.Enviar el flujo de impresión a una impresora de red
Después de recuperar un documento para imprimir, puede invocar el servicio Output , que hace que envíe un flujo de impresión a una impresora de red. Para que el servicio Output localice correctamente la impresora, debe especificar tanto el servidor de impresión como el nombre de la impresora. Además, también debe especificar el protocolo de impresión.
Envíe un flujo de impresión a una impresora de red mediante la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Creación de un objeto de cliente de salida
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Referencia a un origen de datos XML
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que se utiliza para rellenar el documento utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Establecer opciones de tiempo de ejecución de impresión
Cree un
PrintedOutputOptionsSpecque representa las opciones de impresión en tiempo de ejecución. Por ejemplo, puede especificar el número de copias que desea imprimir invocando la variablePrintedOutputOptionsSpecdel objetosetCopiesmétodo.note note NOTE No se puede establecer el valor de paginación utilizando la variable PrintedOutputOptionsSpecdel objetosetPaginationmétodo si está generando un flujo de impresión ZPL. Tampoco puede establecer las siguientes opciones para un flujo de impresión ZPL: OutputJog, PageOffset y Staple. La variablesetPaginationEl método * no es válido para la generación PostScript. Solo es válido para la generación de PCL. * -
Recuperar un documento para imprimir
-
Recupere un documento para imprimir invocando el
OutputClientdel objetogeneratePrintedOutputy pasando los siguientes valores:- A
PrintFormatvalor de enumeración que especifica el flujo de impresión. Por ejemplo, para crear un flujo de impresión PostScript, pasePrintFormat.PostScript. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la ubicación de archivos colaterales relacionados, como archivos de imagen.
- Un valor de cadena que especifica la ubicación del archivo XDC que se va a utilizar.
- La variable
PrintedOutputOptionsSpecque contiene las opciones en tiempo de ejecución necesarias para imprimir en un archivo. - La variable
com.adobe.idp.Documentobjeto que representa el origen de datos XML que contiene los datos de formulario que se van a combinar con el diseño de formulario.
Este método devuelve un
OutputResultque contiene los resultados de la operación. - A
-
Cree un
com.adobe.idp.Documentpara enviar a la impresora invocando el objetoOutputResultobjeto ‘sgetGeneratedDocmétodo. Este método devuelve uncom.adobe.idp.Documentobjeto.
-
-
Enviar el flujo de impresión a una impresora de red
Envíe el flujo de impresión a una impresora de red invocando el
OutputClientdel objetosendToPrintery pasando los siguientes valores:- A
com.adobe.idp.Documentque representa el flujo de impresión que se va a enviar a la impresora. - A
PrinterProtocolvalor de enumeración que especifica el protocolo de impresora que se va a utilizar. Por ejemplo, para especificar el protocolo SharedPrinter, pasePrinterProtocol.SharedPrinter. - Valor de cadena que especifica el nombre del servidor de impresión. Por ejemplo, suponiendo que el nombre del servidor de impresión sea PrintServer1, pase
\\\PrintSever1. - Un valor de cadena que especifica el nombre de la impresora. Por ejemplo, suponiendo que el nombre de la impresora sea Impresora1, pase
\\\PrintSever1\Printer1.
note note NOTE La variable sendToPrinterse ha añadido al método de API de AEM Forms en la versión 8.2.1. - A
Envío de un flujo de impresión a una impresora mediante la API de servicio web send-a-print-stream-to-a-printer-using-the-web-service-api
Envíe un flujo de impresión a una impresora de red mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhost* con la dirección IP del servidor que hospeda AEM Forms. * -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos de formulario. - Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que especifique la ubicación del archivo XML que contiene los datos del formulario. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStreamobjeto. Determine la longitud 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
-
Establezca las opciones de impresión en tiempo de ejecución.
Cree un
PrintedOutputOptionsSpecusando su constructor. Por ejemplo, puede especificar el número de copias que desea imprimir asignando un valor entero que represente el número de copias alPrintedOutputOptionsSpecdel objetocopiesmiembro de datos.note note NOTE No se puede establecer el valor de paginación utilizando la variable PrintedOutputOptionsSpecdel objetopaginationmiembro de datos si está generando un flujo de impresión ZPL. Tampoco puede establecer las siguientes opciones para un flujo de impresión ZPL: OutputJog, PageOffset y Staple. La variablepagination* el miembro de datos no es válido para la generación de PostScript. Solo es válido para la generación de PCL. * -
Recupere un documento para imprimir.
-
Recupere un documento para imprimir invocando el
OutputServiceServicedel objetogeneratePrintedOutputy pasando los siguientes valores:- A
PrintFormatvalor de enumeración que especifica el flujo de impresión. Por ejemplo, para crear un flujo de impresión PostScript, pasePrintFormat.PostScript. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la ubicación de archivos colaterales relacionados, como archivos de imagen.
- Un valor de cadena que especifica la ubicación del archivo XDC que se va a utilizar.
- La variable
PrintedOutputOptionsSpecobjeto que contiene opciones de tiempo de ejecución de impresión que se utilizan al enviar un flujo de impresión a una impresora de red. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos del formulario. - A
BLOBobjeto que rellena elgeneratePrintedOutputmétodo. La variablegeneratePrintedOutputrellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para invocar un servicio web). - A
BLOBobjeto que rellena elgeneratePrintedOutputmétodo. La variablegeneratePrintedOutputrellena este objeto con datos de resultado. (Este valor de parámetro solo es necesario para invocar un servicio web). - Un
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para invocar un servicio web).
- A
-
Cree un
BLOBpara enviar a la impresora obteniendo el valor deOutputResultobjeto ‘sgeneratedDocmétodo. Este método devuelve unBLOBobjeto que contiene datos de PostScript devueltos por la variablegeneratePrintedOutputmétodo.
-
-
Envíe el flujo de impresión a una impresora de red.
Envíe el flujo de impresión a una impresora de red invocando el
OutputClientdel objetosendToPrintery pasando los siguientes valores:- A
BLOBque representa el flujo de impresión que se va a enviar a la impresora. - A
PrinterProtocolvalor de enumeración que especifica el protocolo de impresora que se va a utilizar. Por ejemplo, para especificar el protocolo SharedPrinter, pasePrinterProtocol.SharedPrinter. - A
boolque especifica si se va a usar el valor del parámetro anterior. Transmitir el valortrue. (Este valor de parámetro solo es necesario para invocar un servicio web). - Valor de cadena que especifica el nombre del servidor de impresión. Por ejemplo, suponiendo que el nombre del servidor de impresión sea PrintServer1, pase
\\\PrintSever1. - Un valor de cadena que especifica el nombre de la impresora. Por ejemplo, suponiendo que el nombre de la impresora sea Impresora1, pase
\\\PrintSever1\Printer1.
note note NOTE La variable sendToPrinterse ha añadido al método de API de AEM Forms en la versión 8.2.1. - A
Creación de varios archivos de salida creating-multiple-output-files
El servicio Output puede crear documentos independientes para cada registro dentro de un origen de datos XML o un solo archivo que contenga todos los registros (esta funcionalidad es la predeterminada). Por ejemplo, supongamos que diez registros se encuentran en un origen de datos XML y se indica al servicio Output que cree documentos de PDF independientes (u otros tipos de salida) para cada registro mediante la API del servicio de salida. Como resultado, el servicio Output genera diez documentos PDF. (En lugar de crear documentos, puede enviar varios flujos de impresión a una impresora).
La siguiente ilustración también muestra el servicio Output procesando un archivo de datos XML que contiene varios registros. Sin embargo, supongamos que ordena al servicio Output que cree un único documento de PDF que contenga todos los registros de datos. En esta situación, el servicio Output genera un documento que contiene todos los registros.
La siguiente ilustración muestra el servicio Output procesando un archivo de datos XML que contiene varios registros. Supongamos que ordena al servicio Output que cree un documento de PDF independiente para cada registro de datos. En este caso, el servicio Output genera un documento de PDF independiente para cada registro de datos.
Los siguientes datos XML muestran un ejemplo de un archivo de datos que contiene tres registros de datos.
<?xml version="1.0" encoding="UTF-8"?>
<batch>
<LoanRecord>
<mortgageAmount>500000</mortgageAmount>
<lastName>Blue</lastName>
<firstName>Tony</firstName>
<SSN>555666777</SSN>
<PositionTitle>Product Manager</PositionTitle>
<Address>555 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>TBlue@NoMailServer.com</Email>
<PhoneNum>555-7418</PhoneNum>
<FaxNum>555-9981</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>300000</mortgageAmount>
<lastName>White</lastName>
<firstName>Sam</firstName>
<SSN>555666222</SSN>
<PositionTitle>Program Manager</PositionTitle>
<Address>557 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SWhite@NoMailServer.com</Email>
<PhoneNum>555-7445</PhoneNum>
<FaxNum>555-9986</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>700000</mortgageAmount>
<lastName>Green</lastName>
<firstName>Steve</firstName>
<SSN>55566688</SSN>
<PositionTitle>Project Manager</PositionTitle>
<Address>445 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SGreeb@NoMailServer.com</Email>
<PhoneNum>555-2211</PhoneNum>
<FaxNum>555-2221</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
</batch>
Observe que el elemento XML que inicia y finaliza cada registro de datos es LoanRecord. La lógica de aplicación que genera varios archivos hace referencia a este elemento XML.
Resumen de los pasos summary_of_steps-7
Para crear varios archivos de PDF basados en un origen de datos XML, siga estos pasos:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Establezca las opciones de tiempo de ejecución del PDF.
- Establezca las opciones de procesamiento en tiempo de ejecución.
- Genere varios archivos de PDF.
- Recupere los resultados de la operación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms.
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceService objeto.
Referencia a un origen de datos XML
Haga referencia a un origen de datos XML que contiene varios registros. Se debe utilizar un elemento XML para separar los registros de datos. Por ejemplo, en el origen de datos XML de ejemplo que se muestra anteriormente en esta sección, el elemento XML que separa los registros de datos tiene un nombre LoanRecord.
Debe existir un elemento XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML si se especifican todos los elementos XML.
Establecer opciones de tiempo de ejecución del PDF
Debe establecer las siguientes opciones de tiempo de ejecución para que el servicio Output cree correctamente varios archivos basados en un origen de datos XML:
- Muchos archivos: Especifica si el servicio Output crea un solo documento o varios documentos. Puede especificar true o false. Para crear un documento independiente para cada registro de datos en el origen de datos XML, especifique true.
- URI de archivo: Especifica la ubicación de los archivos que genera el servicio Output. Por ejemplo, suponga que especifica C:\Adobe\forms\Loan.pdf. En esta situación, el servicio Output crea un archivo llamado Loan.pdf y coloca el archivo en el directorio C:\Adobe\forms folder. Cuando hay varios archivos, los nombres de los archivos son Loan0001.pdf, Loan0002.pdf, Loan0003.pdf y así sucesivamente. Si especifica una ubicación de archivo, los archivos se colocan en el servidor, no en el equipo cliente.
- Nombre de registro: Especifica el nombre del elemento XML en el origen de datos que separa los registros de datos. Por ejemplo, en el origen de datos XML de ejemplo que se muestra anteriormente en esta sección, el elemento XML que separa los registros de datos se llama
LoanRecord. (En lugar de establecer la opción Nombre de registro en tiempo de ejecución, puede establecer el Nivel de registro asignándole un valor numérico que indique el nivel de elemento que contiene los registros de datos. Sin embargo, solo puede establecer el Nombre de registro o el Nivel de registro. No se pueden establecer ambos valores).
Establecer las opciones de procesamiento en tiempo de ejecución
Puede definir opciones de procesamiento en tiempo de ejecución al crear varios archivos. Aunque estas opciones no son necesarias (a diferencia de las opciones de tiempo de ejecución de salida, que son necesarias), puede realizar tareas como mejorar el rendimiento del servicio Output . Por ejemplo, puede almacenar en caché el diseño de formulario que utiliza el servicio Output para mejorar el rendimiento.
Cuando el servicio Output procesa los registros por lotes, lee los datos que contienen varios registros de forma incremental. Es decir, el servicio Output lee los datos en la memoria y los libera a medida que se procesa el lote de registros. El servicio Output carga los datos de forma incremental cuando se establece una de las dos opciones de tiempo de ejecución. Si establece la opción Nombre de registro en tiempo de ejecución, el servicio Salida lee los datos de forma incremental. Del mismo modo, si establece la opción de tiempo de ejecución Nivel de registro en 2 o bueno, el servicio Salida lee los datos de forma incremental.
Puede controlar si el servicio Output realiza una carga incremental utilizando la variable PDFOutputOptionsSpec o PrintedOutputOptionSpec del objeto setLazyLoading método. Puede pasar el valor false a este método que desactiva la carga incremental.
Generar varios archivos de PDF
Después de hacer referencia a un origen de datos XML válido que contiene varios registros de datos y establecer opciones de tiempo de ejecución, puede invocar el servicio Output , que hace que genere varios archivos. Cuando se generan varios registros, la variable OutputResult del objeto getGeneratedDoc devuelve el método null.
Recuperar los resultados de la operación
Una vez que el servicio Output realiza una operación, devuelve datos XML que especifican si la operación se ha realizado correctamente. El servicio Output devuelve el siguiente XML. En esta situación, el servicio Output generó 42 documentos.
<?xml version="1.0" encoding="UTF-8"?>
<printResult>
<status>0</status>
<requestId>4ad85f9e2</requestId>
<context/>
<messages>
<message>Printed all 42 records successfully.</message>
</messages>
<printSpec>
<input>
<validated>true</validated>
<dataFile recordIdField="" recordLevel="0" recordName="LoanRecord"/>
<sniffRules lookAhead="300"/>
<formDesign>Loan.xdp</formDesign>
<contentRoot>C:\Adobe</contentRoot>
<metadata-spec record="false"/>
</input>
<output>
<format>PDF</format>
<fileURI>C:\Adobe\forms\Loan.pdf</fileURI>
<optionString>cacheenabled=true&padebug=false&linearpdf=false&pdfarevisionnumber=1&pdfaconformance=A&taggedpdf=false&TransactionTimeOut=180</optionString>
<waitForResponse>true</waitForResponse>
<outputStream>multiple</outputStream>
</output>
</printSpec>
</printResult>
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de varios archivos de PDF mediante la API de Java create-multiple-pdf-files-using-the-java-api
Cree varios archivos de PDF utilizando la API de salida (Java):
-
Incluir archivos de proyecto"
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java. .
-
Creación de un objeto de cliente de salida
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Referencia a un origen de datos XML
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que contiene varios registros utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Establecer opciones de tiempo de ejecución del PDF
- Cree un
PDFOutputOptionsSpecusando su constructor. - Configure la opción Muchos archivos invocando la variable
PDFOutputOptionsSpecdel objetosetGenerateManyFilesmétodo. Por ejemplo, pase el valortruepara indicar al servicio Output que cree un archivo PDF independiente para cada registro del origen de datos XML. (Si pasafalse, el servicio Output genera un solo documento de PDF que contiene todos los registros). - Establezca la opción URI de archivo invocando la variable
PDFOutputOptionsSpecdel objetosetFileUriy pasando un valor de cadena que especifica la ubicación de los archivos que genera el servicio Output. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente. - Establezca la opción Nombre de registro invocando la variable
OutputOptionsSpecdel objetosetRecordNamey pasando un valor de cadena que especifica el nombre del elemento XML en el origen de datos que separa los registros de datos. (Por ejemplo, considere el origen de datos XML que se ha mostrado anteriormente en esta sección. El nombre del elemento XML que separa los registros de datos es LoanRecord).
- Cree un
-
Establecer las opciones de procesamiento en tiempo de ejecución
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output invocando el
RenderOptionsSpecdel objetosetCacheEnabledy pasar unaBooleanvalor detrue.
- Cree un
-
Generar varios archivos de PDF
Genere varios archivos de PDF invocando la variable
OutputClientdel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario.
La variable
generatePDFOutputdevuelve un valorOutputResultque contiene los resultados de la operación. - A
-
Recuperar los resultados de la operación
- Cree un
java.io.Fileque representa un archivo XML que contendrá los resultados de lageneratePDFOutputmétodo. Asegúrese de que la extensión del nombre de archivo es .xml. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elapplyUsageRightsmétodo).
- Cree un
Consulte también
Inicio rápido (modo EJB): Creación de varios archivos de PDF mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Creación de varios archivos de PDF mediante la API de servicio web create-multiple-pdf-files-using-the-web-service-api
Cree varios archivos de PDF mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos de formulario que contienen varios registros. - Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación del archivo XML que contiene varios registros. - 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
-
Establezca las opciones de tiempo de ejecución del PDF.
- Cree un
PDFOutputOptionsSpecusando su constructor. - Defina la opción Muchos archivos asignando un valor booleano a la variable
OutputOptionsSpecdel objetogenerateManyFilesmiembro de datos. Por ejemplo, asigne el valortruea este miembro de datos para solicitar al servicio Output que cree un archivo PDF independiente para cada registro del origen de datos XML. (Si asignafalsea este miembro de datos, el servicio Output genera un solo PDF que contiene todos los registros). - Establezca la opción de URI de archivo asignando un valor de cadena que especifique la ubicación de los archivos que genera el servicio Output al
OutputOptionsSpecdel objetofileURImiembro de datos. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente. - Establezca la opción de nombre de registro asignando un valor de cadena que especifica el nombre del elemento XML en el origen de datos que separa los registros de datos del
OutputOptionsSpecdel objetorecordNamemiembro de datos. - Establezca la opción copias asignando un valor entero que especifica el número de copias que el servicio Output genera al
OutputOptionsSpecdel objetocopiesmiembro de datos.
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output asignando el valor
trueaRenderOptionsSpecdel objetocacheEnabledmiembro de datos.
- Cree un
-
Genere varios archivos de PDF.
Cree varios archivos de PDF invocando la variable
OutputServiceServicedel objetogeneratePDFOutputy pasando los siguientes valores:- Un valor de enumeración TransformationFormat. Para generar un documento de PDF, especifique
TransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con metadatos generados que describen el documento. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con datos de resultado. - Un
OutputResultque contiene los resultados de la operación.
- Un valor de enumeración TransformationFormat. Para generar un documento de PDF, especifique
-
Recuperar los resultados de la operación
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa una ubicación de archivo XML que contiene datos de resultados. Asegúrese de que la extensión del nombre de archivo es .xml. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto que elOutputServiceServicedel objetogeneratePDFOutput(el octavo parámetro). Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetobinaryDatamiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en el archivo XML invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Creación de reglas de búsqueda creating-search-rules
Puede crear reglas de búsqueda que resulten en que el servicio Output examine los datos de entrada y utilice diferentes diseños de formulario basados en el contenido de datos para generar resultados. Por ejemplo, si el texto hipoteca se encuentra dentro de los datos de entrada, el servicio Output puede utilizar un diseño de formulario denominado Mortgage.xdp. Del mismo modo, si el texto automobile se encuentra en los datos de entrada, el servicio Output puede utilizar un diseño de formulario guardado como AutomobileLoan.xdp. Aunque el servicio Output puede generar diferentes tipos de salida, esta sección supone que el servicio Output genera un archivo PDF. En el diagrama siguiente se muestra el servicio Output que genera un archivo PDF procesando un archivo de datos XML y utilizando uno de los muchos diseños de formulario.
Además, el servicio Output puede generar paquetes de documentos, en los que se proporcionan varios registros en el conjunto de datos y cada registro coincide con un diseño de formulario, y un solo documento se genera a partir de varios diseños de formulario.
Resumen de los pasos summary_of_steps-8
Para indicar al servicio Output que utilice reglas de búsqueda mientras genera un documento, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Haga referencia a un origen de datos XML.
- Defina las reglas de búsqueda.
- Establezca las opciones de tiempo de ejecución del PDF.
- Establezca las opciones de procesamiento en tiempo de ejecución.
- Genere un documento de PDF.
- Recupere los resultados de la operación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente utilizando Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms.
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida.
Referencia a un origen de datos XML
Debe existir un elemento XML para cada campo de formulario que desee rellenar con datos. El nombre del elemento XML debe coincidir con el nombre del campo. Se ignora un elemento XML si no se corresponde con un campo de formulario o si el nombre del elemento XML no coincide con el nombre del campo. No es necesario coincidir con el orden en que se muestran los elementos XML, siempre y cuando se especifiquen todos los elementos XML.
Definir reglas de búsqueda
Para definir las reglas de búsqueda, debe definir uno o varios patrones de texto que los servicios de salida buscan en los datos de entrada. Para cada patrón de texto que defina, debe especificar el diseño de formulario correspondiente que se utilizará si se encuentra el patrón de texto. Si se encuentra un patrón de texto, el servicio Output utiliza el diseño de formulario correspondiente para generar el resultado. Un ejemplo de patrón de texto es hipoteca.
Establecer opciones de tiempo de ejecución del PDF
Defina las siguientes opciones de tiempo de ejecución del PDF para que el servicio Output cree correctamente un documento de PDF basado en varios diseños de formulario:
- URI de archivo: Especifica el nombre y la ubicación del archivo de PDF que genera el servicio Output.
- Reglas: Especifica las reglas que ha definido.
- LookAHead: Especifica el número de bytes que se utilizarán desde el principio del archivo de datos de entrada para analizar los patrones de texto definidos. El valor predeterminado es 500 bytes.
Establecer las opciones de procesamiento en tiempo de ejecución
Puede definir opciones de procesamiento en tiempo de ejecución al crear archivos PDF. Aunque estas opciones no son necesarias (a diferencia de las opciones de tiempo de ejecución del PDF), puede realizar tareas como mejorar el rendimiento del servicio Output . Por ejemplo, puede almacenar en caché el diseño de formulario que utiliza el servicio Output para mejorar el rendimiento.
Generar un documento de PDF
Después de hacer referencia a un origen de datos XML válido y establecer las opciones de tiempo de ejecución, puede invocar el servicio Output, lo que hace que genere un documento PDF. Si el servicio Output localiza un patrón de texto especificado en los datos de entrada, utilizará el diseño de formulario correspondiente. Si no se utiliza un patrón de texto, el servicio Output utilizará el diseño de formulario predeterminado.
Recuperar los resultados de la operación
Una vez que el servicio Output realiza una operación, devuelve datos XML que especifican si la operación se ha realizado correctamente.
Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Creación de reglas de búsqueda mediante la API de Java create-search-rules-using-the-java-api
Cree reglas de búsqueda usando la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Cliente de salida.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Haga referencia a un origen de datos XML.
- Cree un
java.io.FileInputStreamobjeto que representa el origen de datos XML que se utiliza para rellenar el documento PDF utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo XML. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Defina las reglas de búsqueda.
- Cree un
Ruleusando su constructor. - Defina un patrón de texto invocando la variable
Ruledel objetosetPatterny pasando un valor de cadena que especifica un patrón de texto. - Defina el diseño de formulario correspondiente invocando la variable
Ruledel objetosetFormmétodo . Pase un valor de cadena que especifique el nombre del diseño de formulario.
note note NOTE Para cada patrón de texto que desee definir, repita los tres subpasos anteriores. - Cree un
java.util.Listusando unjava.util.ArrayListconstructor. - Para cada
Ruleobjeto que ha creado, invocar eljava.util.Listdel objetoaddy pase elRuleobjeto.
- Cree un
-
Establezca las opciones de tiempo de ejecución del PDF.
- Cree un
PDFOutputOptionsSpecusando su constructor. - Especifique el nombre y la ubicación del archivo de PDF que genera el servicio de salida invocando la variable
PDFOutputOptionsSpecdel objetosetFileURImétodo. Pase un valor de cadena que especifique la ubicación del archivo PDF. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente. - Establezca las reglas que definió invocando la variable
PDFOutputOptionsSpecdel objetosetRulesmétodo. Pase eljava.util.Listobjeto que contiene la variableRuleobjetos. - Establezca el número de bytes que se analizarán para buscar los patrones de texto definidos invocando la variable
PDFOutputOptionsSpecdel objetosetLookAheadmétodo. Pase un valor entero que represente los números de bytes.
- Cree un
-
Establezca las opciones de procesamiento en tiempo de ejecución.
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output invocando la variable
RenderOptionsSpecdel objetosetCacheEnabledy pasartrue.
- Cree un
-
Genere un documento de PDF.
Genere un documento de PDF basado en varios diseños de formulario invocando la variable
OutputClientdel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario predeterminado. Es decir, el diseño de formulario que se utiliza si no se encuentra un patrón de texto.
- Un valor de cadena que especifica la raíz del contenido donde se encuentran los diseños de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
com.adobe.idp.Documentobjeto que contiene los datos de formulario que el servicio Output busca para los patrones de texto definidos.
La variable
generatePDFOutputdevuelve un valorOutputResultque contiene los resultados de la operación. - A
-
Recupere los resultados de la operación.
- Cree un
com.adobe.idp.Documentobjeto que representa el estado delgeneratePDFOutputinvocando el métodoOutputResultdel objetogetStatusDocmétodo. - Cree un
java.io.Fileque contendrá los resultados de la operación. Asegúrese de que la extensión de archivo es .xml. - Invocar el
com.adobe.idp.Documentdel objetocopyToFilepara copiar el contenido delcom.adobe.idp.Documental archivo (asegúrese de usar la variablecom.adobe.idp.Documentobjeto devuelto por elgetStatusDocmétodo).
- Cree un
Consulte también
Inicio rápido (modo EJB): Creación de reglas de búsqueda mediante la API de Java
Inicio rápido (modo SOAP): Creación de reglas de búsqueda mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Creación de reglas de búsqueda mediante la API de servicio web create-search-rules-using-the-web-service-api
Cree reglas de búsqueda mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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 origen de datos XML.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar datos que se combinarán con el documento del PDF. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF que se va a cifrar 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
-
Defina las reglas de búsqueda.
- Cree un
Ruleusando su constructor. - Definir un patrón de texto asignando un valor de cadena que especifica un patrón de texto a la variable
Ruledel objetopatternmiembro de datos. - Defina el diseño de formulario correspondiente asignando un valor de cadena que especifique el diseño de formulario al
Ruledel objetoformmiembro de datos.
note note NOTE Para cada patrón de texto que desee definir, repita los tres subpasos anteriores. - Cree un
MyArrayOf_xsd_anyTypeque almacena las reglas. - Asigne cada
Rulea un elemento de la variableMyArrayOf_xsd_anyTypematriz. Invocar elMyArrayOf_xsd_anyTypedel objetoAddmétodo para cadaRuleobjeto.
- Cree un
-
Establecer opciones de tiempo de ejecución del PDF
- Cree un
PDFOutputOptionsSpecusando su constructor. - Establezca la opción de URI de archivo asignando un valor de cadena que especifica la ubicación del archivo PDF que genera el servicio Output al
PDFOutputOptionsSpecdel objetofileURImiembro de datos. La opción URI de archivo es relativa al servidor de aplicaciones J2EE que aloja AEM Forms, no al equipo cliente. - Establezca la opción copias asignando un valor entero que especifica el número de copias que el servicio Output genera al
PDFOutputOptionsSpecdel objetocopiesmiembro de datos. - Defina las reglas que definió asignando la variable
MyArrayOf_xsd_anyTypeobjeto que almacena las reglas en elPDFOutputOptionsSpecdel objetorulesmiembro de datos. - Establezca el número de bytes que se analizarán para buscar los patrones de texto definidos asignando un valor entero que represente los números de bytes que se analizarán en la variable
PDFOutputOptionsSpecdel objetolookAheadmétodo de datos.
- Cree un
-
Establecer las opciones de procesamiento en tiempo de ejecución
- Cree un
RenderOptionsSpecusando su constructor. - Almacene en caché el diseño de formulario para mejorar el rendimiento del servicio Output asignando el valor
trueaRenderOptionsSpecdel objetocacheEnabledmiembro de datos.
note note NOTE No se puede establecer la versión del documento del PDF utilizando la variable RenderOptionsSpecdel objetopdfVersionmiembro si el documento de entrada es un formulario de Acrobat. El documento del PDF de salida conserva la versión del PDF del formulario de Acrobat. Del mismo modo, no se puede establecer la opción de PDF etiquetado utilizando la variableRenderOptionsSpecdel objetotaggedPDFmétodo si el documento de entrada es un formulario de Acrobat.note note NOTE No se puede establecer la opción de PDF linealizado utilizando la variable RenderOptionsSpecdel objetolinearizedPDFmiembro si el documento del PDF de entrada está certificado o firmado digitalmente. Para obtener más información, consulte Firma digital de documentos PDF. - Cree un
-
Generar un documento de PDF
Cree un documento de PDF invocando la variable
OutputServiceServicedel objetogeneratePDFOutputy pasando los siguientes valores:- A
TransformationFormatvalor de enumeración. Para generar un documento de PDF, especifiqueTransformationFormat.PDF. - Un valor de cadena que especifica el nombre del diseño de formulario.
- Un valor de cadena que especifica la raíz del contenido donde se encuentra el diseño de formulario.
- A
PDFOutputOptionsSpecque contiene opciones de tiempo de ejecución del PDF. - A
RenderOptionsSpecobjeto que contiene opciones de procesamiento en tiempo de ejecución. - La variable
BLOBobjeto que contiene el origen de datos XML que contiene los datos que se van a combinar con el diseño de formulario. - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con metadatos generados que describen el documento. (Este valor de parámetro solo es necesario para la invocación de servicio web). - A
BLOBobjeto que rellena elgeneratePDFOutputmétodo. La variablegeneratePDFOutputrellena este objeto con datos de resultado. (Este valor de parámetro solo es necesario para la invocación de servicio web). - Un
OutputResultque contiene los resultados de la operación. (Este valor de parámetro solo es necesario para la invocación de servicio web).
note note NOTE Al generar un documento de PDF invocando la variable generatePDFOutputTenga en cuenta que no puede combinar datos con un formulario de PDF XFA que esté firmado, certificado o contenga derechos de uso. Para obtener información sobre los derechos de uso, consulte Aplicación de derechos de uso a documentos de PDF. - A
-
Recuperar los resultados de la operación
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa una ubicación de archivo XML que contiene datos de resultados. Asegúrese de que la extensión de archivo es XML. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto que elOutputServiceServicedel objetogeneratePDFOutput(el octavo parámetro). Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en el archivo XML invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef
Acoplamiento de documentos del PDF flattening-pdf-documents
Puede utilizar el servicio Output para transformar un documento de PDF interactivo en un PDF no interactivo. Un documento PDF interactivo permite a los usuarios introducir o modificar datos que se encuentran en los campos del documento PDF. El proceso de transformar un documento de PDF interactivo en un documento de PDF no interactivo se llama aplanar. Cuando se aplana un documento PDF, un usuario no puede modificar los datos de los campos del documento. Una razón para acoplar un documento PDF es garantizar que no se puedan modificar los datos.
Puede acoplar los siguientes tipos de documentos PDF:
- Documentos de PDF XFA interactivos
- Acrobat Forms
El intento de acoplar un PDF que es un documento PDF no interactivo provoca una excepción.
Resumen de los pasos summary_of_steps-9
Para acoplar un documento de PDF interactivo a un documento de PDF no interactivo, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto Cliente de salida.
- Recupere un documento de PDF interactivo.
- Transforme el documento del PDF.
- Guarde el documento de PDF no interactivo como archivo de PDF.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBoss, deberá reemplazar los archivos adobe-Utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms. Para obtener información sobre la ubicación de todos los archivos JAR de AEM Forms, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
Creación de un objeto de cliente de salida
Para poder realizar una operación de servicio de salida mediante programación, debe crear un objeto cliente de servicio de salida. Si utiliza la API de Java, cree un OutputClient objeto. Si utiliza la API del servicio web de salida, cree un OutputServiceService objeto.
Recuperar un documento PDF interactivo
Recupere un documento de PDF interactivo que desee transformar en un documento de PDF no interactivo. Si se intenta transformar un documento PDF no interactivo, se producirá una excepción.
Transformar el documento del PDF
Después de recuperar un documento de PDF interactivo, puede transformarlo en un documento de PDF no interactivo. El servicio Output devuelve un documento PDF no interactivo.
Guarde el documento de PDF no interactivo como archivo de PDF
Puede guardar el documento de PDF no interactivo como un archivo de PDF.
Consulte también
Acoplar un documento de PDF mediante la API de Java
Acoplar un documento de PDF mediante la API de servicio web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de salida
Acoplar un documento de PDF mediante la API de Java flatten-a-pdf-document-using-the-java-api
Acople un documento de PDF interactivo a un documento de PDF no interactivo mediante la API de salida (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-output-client.jar, en la ruta de clase de su proyecto Java.
-
Cree un objeto Cliente de salida.
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. - Cree un
OutputClientusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Recupere un documento de PDF interactivo.
- Cree un
java.io.FileInputStreamobjeto que representa el documento de PDF interactivo que se va a transformar utilizando su constructor y pasando un valor de cadena que especifica la ubicación del archivo de PDF interactivo. - Cree un
com.adobe.idp.Documentusando su constructor y pasando eljava.io.FileInputStreamobjeto.
- Cree un
-
Transforme el documento del PDF.
Transforme el documento del PDF interactivo a un documento del PDF no interactivo invocando la variable
OutputServiceServicedel objetotransformPDFy pasando los siguientes valores:- La variable
com.adobe.idp.Documentobjeto que contiene el documento PDF interactivo. - A
TransformationFormatvalor de enumeración. Para generar un documento de PDF no interactivo, especifiqueTransformationFormat.PDF. - A
PDFARevisionNumbervalor de enumeración que especifica el número de revisión. Dado que este parámetro está diseñado para un documento PDF/A, puede especificarnull. - Un valor de cadena que representa el número de enmienda y el año, separados por dos puntos. Dado que este parámetro está diseñado para un documento PDF/A, puede especificar
null. - A
PDFAConformancevalor de enumeración que representa el nivel de conformidad PDF/A. Dado que este parámetro está diseñado para un documento PDF/A, puede especificarnull.
La variable
transformPDFel método devuelve uncom.adobe.idp.Documentobjeto que contiene un documento de PDF no interactivo. - La variable
-
Guarde el documento de PDF no interactivo como archivo de PDF.
- Cree un
java.io.Filey asegúrese de que la extensión del nombre de archivo es .pdf. - Invocar el
Documentdel objetocopyToFilepara copiar el contenido delDocumental archivo (asegúrese de usar la variableDocumentobjeto devuelto por eltransformPDFmétodo).
- Cree un
Consulte también
Inicio rápido (modo EJB): Transformación de un documento de PDF mediante la API de Java
Inicio rápido (modo SOAP): Transformación de un documento de PDF mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Acoplar un documento de PDF mediante la API de servicio web flatten-a-pdf-document-using-the-web-service-api
Acople un documento de PDF interactivo a un documento de PDF no interactivo mediante la API de salida (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición WSDL:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Reemplazar localhostcon la dirección IP del servidor que hospeda AEM Forms. -
Cree un objeto Cliente de salida.
-
Cree un
OutputServiceClientusando su constructor predeterminado. -
Cree un
OutputServiceClient.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/OutputService?blob=mtom.) No es necesario que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtompara usar MTOM. -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deOutputServiceClient.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
OutputServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
OutputServiceClient.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
-
-
Recupere un documento de PDF interactivo.
- Cree un
BLOBusando su constructor. La variableBLOBse utiliza para almacenar el documento del PDF interactivo. - Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF interactivo. - 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
-
Transforme el documento del PDF.
Transforme el documento del PDF interactivo a un documento del PDF no interactivo invocando la variable
OutputClientdel objetotransformPDFy pasando los siguientes valores:- A
BLOBobjeto que contiene el documento PDF interactivo. - A
TransformationFormatvalor de enumeración. Para generar un documento de PDF no interactivo, especifiqueTransformationFormat.PDF. - A
PDFARevisionNumbervalor de enumeración que especifica el número de revisión. - Un valor booleano que especifica si la variable
PDFARevisionNumberse utiliza el valor enum . Dado que este parámetro está diseñado para un documento PDF/A, puede especificarfalse. - Un valor de cadena que representa el número de enmienda y el año, separados por dos puntos. Dado que este parámetro está diseñado para un documento PDF/A, puede especificar
null. - A
PDFAConformancevalor de enumeración que representa el nivel de conformidad PDF/A. - Valor booleano que especifica si la variable
PDFAConformancese utiliza el valor enum . Dado que este parámetro está diseñado para un documento PDF/A, puede especificarfalse.
La variable
transformPDFel método devuelve unBLOBobjeto que contiene un documento de PDF no interactivo. - A
-
Guarde el documento de PDF no interactivo como archivo de PDF.
- Cree un
System.IO.FileStreaminvocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF no interactivo. - Cree una matriz de bytes que almacene el contenido de datos del
BLOBobjeto devuelto por eltransformPDFmétodo. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef