Generación de archivos word desde Java

SERIKAT ha desarrollado una infraestructura para enlazar la Gestión de Expedientes de uno de sus clientes, con Microsoft Word.

La idea es disponer de una herramienta que permita y facilite la creación de plantillas en el procesador de textos Microsoft Word y que desde las aplicaciones de gestión de expedientes permita, en base a la plantilla definida, obtener el documento Word correspondiente.

Esta solución se suministra con una licencia de ASPOSE de servidor.

Requisitos Funcionales

La solución cubre los siguientes requisititos funcionales:

· Incorporar en una plantilla de Microsoft Word los campos de tablas de la base de datos del cliente

· Incorporar el concepto de variación de plantilla; una plantilla es el punto de partida para la generación de un determinado tipo de documento. Una plantilla puede tener diferentes variaciones y se utilizará una concreta para resolver el documento. La variación se elige en base a la información de la base de datos momento de obtener el documento fina! y sirve para adecuar el contenido del documento a la realidad que plantea el expediente.

· Incluir el contenido completo de un documento existente, que se indique como parámetro, dentro del documento que se está generando.

· Incluir parte de un documento generado previamente, en el que se hayan insertado marcas con un nombre concreto que se buscarán para seleccionar el texto que debe pegarse en el nuevo documento, como parámetro se pasará el nombre del documento origen y el nombre de las marcas a buscar (inicial y final).

· Relacionado con el punto anterior, y para que sea posible copiar parte de un documento, debe ser posible definir dichas marcas. Esto debe hacerse durante la creación de la plantilla, del documento desde el que se realizará la copia. En un documento podrá haber más de una parte del texto a copiar

· Manejar datos repetitivos: es decir, poder mostrar en un documento la información de varios registros seleccionados de una tabla de base datos. Esto incluye por una parte indicar la selección a realizar (una sentencia sql) y por otra definir la plantilla de modo que maneje la información devuelta, teniendo en cuenta que el número de registros s variable.

· Formatear información de un mismo campo de varios registros seleccionadlos de una tabla de base de datos formando con ellos una lista.

· Permitir incluir macros al proceso de generación cuya ejecución se pueda lanzar en el momento que sea preciso durante la ejecución de la generación. Para ello será necesario que enl la definición de la plantilla se puedan incluir puntos desde donde llamar a esas macros.

· Poder imprimir el documento en el momento en que se haya terminado su generación.

· Poder cerrar y guardar el documento en el momento en que se haya terminado su generación.


Subsistemas de la solución

La solución diseñada por SERIKAT está formada por los siguientes subsistemas:

· Subsistema de Gestión

Este módulo da respuesta a la gestión de las distintas entidades de información que conforman el sistema como son plantillas, bloques, reglas, orígenes de datos,... permitiendo el Alta, Baja y Modificación de los mismos dentro de la aplicación.

· Subsistema de Impresión

El subsistema de impresión es el encargado de atender a las peticiones que llegan por parte de un usuario o desde otras aplicaciones, y resolver los correspondientes archivos Word almacenándolos en el sistema convenido (File System, Gestor Documental, …).

Para la generación de documento Word se hace uso del API del producto ASPOSE

· Subsistema de Comunicación Asíncrona

La aplicación incorpora una utilidad que de la opción al usuario de realizar peticiones de generación de archivos Word de forma asíncrona, es decir dándole la oportunidad de lanzar las peticiones y no quedarse a la espera de las correspondientes resoluciones. Esta utilidad puede ser de interés en el caso de que se quiera utilizar solicitudes de impresión de forma masiva.

Por otra parte, el Módulo de Comunicación Asíncrona permite al usuario consultar el estado de su petición.