XDocReport: generando PDFs desde plantillas DOCX y ODT

XDocReport es un API Java open-source (licencia MIT) que permite generar informes en diversos formatos (PDF, XHTML) mergeando documentos/plantillas creados MS Office (docx), OpenOffice (odt) o LibreOffice (odt) con un modelo Java.

Veamos como funciona (ver link):

1. En mi plantilla creo variables (con sintaxis Velocity o FreeMarker), en este caso $name:

2. Cargo la plantilla y sobre mi contexto sustituyo mi variable para generar otro documento ODT:

3. Genero el documento en el formato adecuado, PDF en este caso:

XDoclet se integra con frameworks como Spring MVC: https://github.com/opensagres/xdocreport/wiki/XDocReportSpringMVC

Podéis descubrir un poco más sobre XDocReport aquí.

Su última versión es la 1.0.5, podéis ver usar las dependencias Maven necesarias aquí: https://github.com/opensagres/xdocreport/wiki/XDocReport105

(Seguro que a todos aquellos que habéis tenido que generar un PDF en base a una plantilla PDF en la que completar un conjunto de campos os resulta muy útil!!!

https://blog.codecentric.de/en/2010/08/pdf-generation-with-itext/)

¿Qué es HikariCP?

HikariCP es una librería Java que implementa un pool de conexiones JDBC muy ligero (70 Kb) y con “zero-overhead” (interesante esta lectura sobre algunos de sus ajustes).

En su web podéis encontrar un benchmark comparando varios pools Java:

Generando Formularios HTML desde Schemas JSON

Nunca pensé que habría tantas alternativas para generar formularios HTML desde Schemas JSON.

La primera fue la que me enseñó Jaime el otro día:

http://jeremydorn.com/json-editor/

aún con algunas limitaciones (includes,…) es bastante usable tal cual:

Pero luego vi esta: https://github.com/Textalk/angular-schema-form basada en AngularJS que tiene algo más de información además de addons que permiten renderizar campos (date-picker, color-picker y html editor) además de poder crear tus propios addons (Jaime, qué tal un DTO-picker 😀

Podéis ver un ejemplo aquí: http://textalk.github.io/angular-schema-form/examples/bootstrap-example.html

También tenemos JSON Form: http://developer.joshfire.com/doc/ref/jsonform y https://github.com/joshfire/jsonform que ofrece una gran documentación.

Otra sería esta: http://neyric.github.io/inputex/examples/json-schema.html muy sencilla de usar:

Otra muy interesante es

Alpaca (http://www.alpacajs.org) que además tiene el concepto de DataSource, soporta opciones, renderiza de diversas formas y tiene mucha documentación:

El formulario es bastante sofisticado:

¿Con cuál nos quedamos Jaime?

Charva: Toolkit Java para Terminales de Texto

CHARVAes un framework Java para presenter un interfaz de Usuario “gráfico” compuesto de menús, ventanas, diálogos, botones,… sobre un terminal ASCCI.

Ofrece un API basado en Swing lo que permite que sea muy sencillo programar en CHARVA si conocemos Swing, de hecho se puede construir en Swing con un IDE visual y luego convertirlo a CHARVA sólo cambiando los imports a "charva.awt y "charvax.swing" en lugar de los standard "java.awt" y "javax.swing”.

Así un interfaz AWT con este aspecto:

Con CHARVA se muestra así:

O en un Putty:

Aún no le veis la utilidad?…pues imaginaros un Linux sin entorno gráfico…por ejemplo una Raspberry!

Adiós YUI!!!

Leo en Genbetadev que YUI (Yahoo User Interface) cierra.

Más allá de que tenga todo el sentido en el momento actual, a mí que que lo he usado y me parecía una opción muy interesante (aunque no tan conocida como otras) me da cierta penilla. Mirad por ejemplo este post de 2010 o este otro de 2011.

log4jdbc, log4jdbc-remix y log4jdbc-log4j2: logging avanzado de SQL

http://java.dzone.com/articles/springhibernate-improved-sql

log4jdbc es un driver JDBC que actúa como proxy que permite logear todas las llamadas JDBC y las sentencias SQL (incluyendo tiempo consumido) usando SLF4J.

Sobre este producto tenemos log4jdbc-remix es un fork de log4jdbc que permite además:

· Logear resultsets como tablas

· Configurarse como un SataSource en Spring

· Usar un formateador SQL

Para usarlo en Spring:

· Añadimos a nuestro pom.xml:

· Creamos nuestro DataSource Proxy:

Que recibe como argumento en el constructor el DataSoruce original dataSourceSpied

A finales de 2013 log4jdbc-remix se discontinúa y se incluyen sus funcionalidades en log4jdbc-log4j2 que además de incorporar sus funcionalidades está preparado para funcionar en Log4J 2 y soporta JDBC 4.1 y 3.

unbescape: solución Java de escapado para HTML, XML, Javascript, JSON,…

Unbescape es una librería Java open-source capaz de escapar y desescapar HTML (4 y 5), XML, JavaScript, JSON, CSS, CSV, literales Java y .properties Java creada con los objetivos de ser fácil de usar, rápido, versátil y potente.

Unbescape está desarrollado por el gran Daniel Fernández, creador también de ese framework que tanto estamos disfrutando por aquí 😉 Thymeleaf, lo que para mía es una auténtica garantía.

Daniel creo unbescape justamente para el tema del escapado en Thymeleaf, ya que ninguna de las alternativas (StringEscapeUtils de Commons-Lang, ni las HtmlUtils de Spring) daba todas las funcionalidades requeridas.

La forma de usarlo es muy sencilla, por ejemplo para HTML:

También puede configurarse el modo de uso:

Aquí podéis ver como se usa: http://www.unbescape.org/usingunbescape.html

A %d blogueros les gusta esto: