h2. Introducción
En este artículo, veremos cómo generar documentos PDF desde WebDynpro Java sin usar Adobe Document Services. Utilizaremos las bibliotecas java de Apache FOP (XSL:FO) para realizar esta tarea. Apache FOP puede generar una amplia variedad de salidas que incluyen PostScript, RTF, PCL y XML. En nuestro caso, nos interesa principalmente la salida en PDF. En este ejemplo, transformamos un Objeto Java (un Nodo WebDynpro en nuestro caso) en un PDF. Generamos eventos SAX a partir del nodo que se alimenta en una transformación XSL que genera un PDF. También puedes usar esto para generar eventos XML directamente desde un Nodo. !
http://xmlgraphics.apache.org/fop/0.95/images/EmbeddingExampleObj2PDF.png|height=30|alt=Object
a secuencia PDF|align=middle|width=359|src=
http://xmlgraphics.apache.org/fop/0.95/images/EmbeddingExampleObj2PDF.png
! h6. Esta imagen ha sido tomada sin vergüenza del sitio de Apache FOP. Estaba demasiado perezoso para hacer mi propio gráfico. Eché un vistazo a un ejemplo de Apache FOP donde un Objeto Java se convierte directamente en PDF (ver la sección de enlaces a continuación sobre cómo llegar a este ejemplo). Todo lo que tuve que hacer fue importar las bibliotecas FOP en WebDynpro y reemplazar los Objetos Java con nodos WD, ¡unas pocas modificaciones más y voilà! Tenía un ejemplo de PDF de Nodo funcionando. Asegúrate de al menos echar un vistazo al ejemplo antes de intentar la versión de WebDynpro. Hemos implementado este método con éxito en producción para algunos informes. El rendimiento es muy bueno (como esperarías de Apache). La sintaxis XSL FO en sí misma es simple y poderosa. Hay muchos ejemplos en la web, desde diseños simples hasta extremadamente complejos para el PDF. Al final del artículo, he proporcionado una lista de sitios que me resultaron extremadamente útiles durante mi fase de diseño y código. Este es un artículo bastante largo debido al código e instrucciones detalladas. La mayoría de los pasos son bastante simples. h2. Aplicación de muestra En esta aplicación, seguiremos estos pasos para crear una aplicación simple de XSL:FO-WebDynpro. * Crea un nuevo DC que contenga archivos jar de la biblioteca Apache FOP. * Crea una dependencia entre nuestra aplicación Java WD y el DC de la biblioteca FOP. * Crea una Clase de Adaptador (proporcionada en este ejemplo) para convertir el nodo en eventos SAX. * Crea un archivo XSLT simple que defina el diseño y contenido del PDF. * Escribe algo de código para activar la creación del PDF a partir de los datos en el Nodo. * Prueba
🙂
h3. Paso 1 La aplicación base es una aplicación WebDynpro Java muy simple que muestra algunos datos de un nodo en una tabla WebDynpro. (No entraré en detalles sobre cómo crear esta aplicación). Los datos del nodo se llenan desde una matriz que se inicializa con algunos campos (todos de tipo cadena). El nodo adjunto al controlador es un nodo de valor simple llamado materiales con algunos campos (todos los elementos del nodo son de tipo cadena). Aquí tienes una captura de pantalla del contexto del controlador.
Agregué algo de código al controlador para llenar el nodo con algunos datos. Puedes ver el código del controlador {code:html}
aquí
{code}. (este es el código sin las modificaciones de FOP). Aquí tienes una captura de pantalla de la salida de la aplicación.
Ahora modificaremos esta aplicación para generar un PDF a partir de los datos que tenemos en el nodo. h3. Paso 2 Necesitarás descargar la última versión (0.95 en el momento de escribir esto) de los archivos jar de Apache XSL:FO. Puedes descargar el archivo zip (fop-0.95-bin.zip) desde:
http://archive.apache.org/dist/xmlgraphics/fop/binaries/
Ahora necesitamos crear un DC de Biblioteca que contenga los archivos jar de Apache FOP. Si no estás seguro de cómo hacer esto, sigue las instrucciones de este artículo. [
Cómo usar archivos JAR externos en componentes de desarrollo Web Dynpro
|
Cómo usar archivos JAR externos en componentes de desarrollo Web Dynpro
] h3. Paso 3 Ahora necesitamos hacer algunas configuraciones para que nuestra aplicación pueda usar los archivos jar del DC
Quitar espacios en una consulta SQL
Quitar espacios en una consulta SQL
Cuando trabajamos con consultas SQL, a menudo nos encontramos con la necesidad de limpiar o mani...
Transacciones MIGO y MIRO en SAP MM
Transacciones MIGO y MIRO en SAP MM
1. ¿Qué es la transacción MIGO?
La transacción MIGO (Entrada de Mercancías) se utiliza para registrar las mercancías que...
HOLA EXPERTOS,
¿QUÉ ESQUEMA DE CÁLCULO ME SIRVE PARA CALCULAR EL IVA EN BOLIVIA?
EL PORCENTAJE DE IVA EN BOLIVIA ES EL 13%.
LA FACTURA QUE TENGO COMO EJEMPLO ES LA...
Pasos para abrir y cerrar período - MM FI CO
Muchos de nosotros luchamos con los cambios de períodos en nuestros entornos DEV y QA, aquí tienes una referencia rápida para abrir y...