La primera entrevista sobre phpdocx

Seguimos con los festejos por la primera década de phpdocx. Hoy reproducimos una entrevista, quizá la primera que se realizó acerca de la librería. La realizó César Martín a nuestro equipo de desarrollo y se publicó en la web alzado.org, el 21 de octubre de 2009. Lógicamente, las características

Artículos recientes

Seguimos con los festejos por la primera década de phpdocx. Hoy reproducimos una entrevista, quizá la primera que se realizó acerca de la librería. La realizó César Martín a nuestro equipo de desarrollo y se publicó en la web alzado.org, el 21 de octubre de 2009.

Lógicamente, las características y licencias que se mencionan en esta entrevista pertenecen a la primera versión de phpdocx y están desactualizadas. También faltan todas las características posteriores, desde la segunda versión a la novena, con su flamante lista de métodos de HTML Extended, entre otras novedades. Recomendamos la lectura de la entrevista por su valor, digamos, histórico, pero no como representación de lo que es ahora la librería.

Para estar al corriente de todo lo que puede hacer phpdocx hoy, lo mejor, como siempre, es visitar nuestra web.

Que la disfrutéis.

¿Cómo van las cosas en 2mdc, últimos proyectos, etc.?

Afortunadamente, y a pesar de la crisis, las cosas van razonablemente bien.

De hecho, me atrevería a decir que la crisis nos ha ayudado. Me explico: a principios de año, esperando que las cosas vinieran mal dadas, hicimos algunos planes de contingencia que preveían el desarrollo de una serie de aplicaciones que sirvieran de palanca para diversificar nuestro negocio y de paso “rellenar" posibles tiempos muertos de nuestra cadena de producción.

La idea era desarrollar una serie de paquetes de software “Open Source", que aparte de beneficios directos (en forma de instalación, soporte y mantenimiento), nos aportaran cierta visibilidad en ciertos entornos tecnológicos.

Recientemente hemos lanzado el primero de estos paquetes, PHPDOCX, y esperamos la salida de otros tres productos para antes de fines de este año o comienzos del próximo.

¿Qué es PHPDOCX?

En pocas palabras: una librería en PHP que permite la generación dinámica de documentos en formato MS Word en un servidor web a partir de datos almacenados en una base de datos o cualquier otra fuente como ficheros de texto, CSV, hojas de cálculo, etcétera.

Este paquete no necesita ninguna herramienta de Microsoft y, en particular, permite generar documentos de Word (en formato .docx) en una plataforma LAMP (Linux, Apache, MySQL, PHP).

¿Qué utilidades tiene?

Prácticamente se puede hacer todo lo que permite Microsoft Word. Por ejemplo:

  • Párrafos normales de texto ( con “widow/orphan control")
  • Listas (anidadas) con “bullets" personalizables
  • Todo tipo de tablas
  • Gráficos de barras y pie charts en 2 y 3D
  • Tablas de contenido
  • Cabeceras y pies de página personalizables con numeración automática
  • Fotos
  • Cajas de texto
  • Títulos
  • Fórmulas matemáticas
  • Secciones
  • Estilos generales del documento y de las diferentes secciones del mismo

¿Por qué lo habéis desarrollado?

Uno de nuestros mejores clientes, el Consejo Superior de Investigaciones Científicas (CSIC), nos solicitó hace algún tiempo un sistema de generación de reportes en PDF y Word para los datos registrados en su Plan de Actuación 2010-2013, cuya interfaz web habíamos desarrollado nosotros.

Cuando nos pusimos manos a la obra pudimos comprobar que, aunque existen múltiples opciones de código abierto para la generación de PDFs desde una plataforma LAMP, la generación de documentos Word requería tecnologías propietarias de Microsoft.

Sin embargo, desde la versión 2003 de Word su formato es abierto (WordProcessingML), por lo que no había ninguna razón por la que un equipo de desarrolladores PHP no pudiera generar con un esfuerzo "razonable" el código necesario.

Desde el primer momento tuvimos claro que este esfuerzo debía enfocarse de forma que fuera reutilizable tanto por nosotros como por terceros, y de ahí que emprendiéramos la tarea de desarrollar un "producto" que ayudara en estas tareas y fuera susceptible de ser distribuido.

¿Por qué una versión de pago?

PHPDOCX se distribuye de dos formas:

  • Una versión gratuita con licencia LGPL, la más abierta de las licencias de código abierto, que permite generar documentos razonablemente sofisticados.
  • Una versión PRO de pago, aunque muy baratita, que tiene algunas "pijadas" más y sobre todo dispone de soporte técnico.

La razón última de tener una versión de pago es la obvia: rentabilizar la inversión ya realizada y permitir un desarrollo continuo de la herramienta en el futuro.

¿Cualquiera puede usar PHPDOCX?

En principio la herramienta está diseñada para programadores PHP, aunque es de uso sencillo siempre que se disponga de unos mínimos conocimientos en la materia. PHPDOCX no es un procesador de textos al uso, sino una herramienta para generar documentos web programáticamente desde un servidor web.

¿Cuáles son los requisitos técnicos?

Disponer de un servidor web con PHP 4 ó 5. El servidor puede ser Apache o IIS y la fuente de datos puede ser, en principio, cualquiera (por ejemplo, una base de datos MySQL).

¿El proyecto sigue en desarrollo? ¿Habrá futuras versiones de la librería? ¿Qué próximas funcionalidades aparecerán?

Definitivamente SÍ. Esto no ha hecho más que empezar. Aparte de incrementar las funcionalidades, como la generación de documentos a través de plantillas, etcétera, queremos ofrecer algunas herramientas generadas a partir de PHPDOCX que estén destinadas al usuario final como, por ejemplo:

  • Interfaces web para la generación de reportes.
  • Paquetes para la generación de documentos online.
  • Generación de documentos por lotes a partir de plantillas.
  • Etcétera.

¿Puedo cambiar el código de la librería y distribuirlo por mi cuenta?

Tanto la versión gratuita como la PRO pueden ser modificadas sin problemas para uso propio.

La versión gratuita es LGPL por lo que no sólo puede ser modificada sino también distribuida en formato LGPL, GPL o incluso de pago.

Las modificaciones realizadas sobre la versión PRO no pueden ser distribuidas a terceros sin nuestro permiso explícito.