PyODConverter, un conversor de formatos ofimaticos

Una de las funcionalidades más interesantes de OpenOffice.org y sus derivados (como LibreOffice) es la de funcionar como servidor. Aunque suene raro que una suite ofimática funcione como servidor, esta capacidad abre un enorme abanico de posibilidades. Algunos ejemplos que se me ocurren de utilidad son los siguientes:

  • En una migración a Linux puede facilitarnos la conversión de los formatos de nuestros documentos hacia estándares abiertos al poder realizar dicha operación de forma masiva.
  • Igualmente podemos realizar una conversión masiva de documentos al formato PDF en aquellas ocasiones en las que necesitemos preparar un buen conjunto de ficheros.
  • Podemos realizar conversiones al vuelo en una pasarela de correo hacia el formato ODT de todos los ficheros adjuntos que nos lleguen.
  • Como apoyo de un sistema de telepresencia y audio/videoconferencia en el que contemos con una pizarra digital y con compartición de ficheros, tratando así de forma automática y transparente los documentos subidos a la plataforma.


La manera más sencilla de aprovechar la capacidad de OpenOffice.org de funcionar en modo servidor es a través de PyODConverter, una herramienta desarrollada en Python que automatiza la conversión de documentos ofimáticos desde la línea de comandos.

PyODConverter exige dos requisitos básicos para poder funcionar correctamente: que en nuestro sistema estén instalados los módulos UNO de Python y que OpenOffice.org esté corriendo como servicio en el puerto 2002.

Para cumplir el primer requisito, en el caso de Debian es tan sencillo como ejecutar el siguiente comando como administrador del sistema:

# apt-get install python-uno

aunque lo más sencillo es utilizar el intérprete python que OpenOffice.org trae de serie.

En el caso del segundo requisito, basta con ejecutar el siguiente comando para que OpenOffice.org se ejecute como servidor:

# soffice "-accept=socket,port=2002;urp;"

El uso de PyODConverter es muy sencillo. Basta con invocarlo desde línea de comandos indicándole el fichero a convertir y el fichero a obtener. Veamos un ejemplo utilizando el intérprete Python que trae LibreOffice 3.6 de serie para convertir un fichero ODT a PDF:

$ /opt/libreoffice3.6/program/python DocumentConverter.py Informe.odt Informe.pdf

Como se puede ver, PyODConverter deduce los formatos con los que debe trabajar de las extensiones de los ficheros indicados en la línea de comandos.

Finalmente, PyODConverter tiene otra virtud muy interesante: la de poder ser invocado desde otros programas desarrollados en Python. Al funcionar como un módulo Python, se puede utilizar a través de un API muy sencillo, ampliando las posibilidades de nuestros propios desarrollos.

En definitiva, PyODConverter debe sin duda incluirse en nuestra «caja de herramientas» habituales por las enormes posibilidades que nos ofrece a la hora de trabajar con documentos ofimáticos.

1 comentario en “PyODConverter, un conversor de formatos ofimaticos

  1. Se me olvidaba comentar que al tratarse PyODConverter de una herramienta desarrollada en Python, el cual al igual que OpenOffice.org y Libreoffice está disponible para otras plataformas como Windows o Mac, es posible utilizarla en estos sistemas operativos simplemente adaptando las instrucciones a cada entorno en cuestión.

Los comentarios están cerrados.