DescripciónDocumentaciónEjemplos de usoEnlacesLicenciaFuturas mejorasDesarrolladoresDescargas
Flag Flag

Si te gusta este script, por favor valóralo en:

Logo del proyecto Cíclope

Documentación

Requisitos

Sistema Operativo

Esta librería ha sido desarrollada y comprobada en los sistemas operativos GNU/Linux (Gentoo Linux) y Windows XP SP1 bajo la plataforma Intel x86 usando las últimas veriones tanto del servidor web Apache como del lenguaje PHP (actualmente Apache 2.0.52 y PHP 4.3.10). La versión de OpenOffice.org utilizada para comprobar la conversión de documentos es actualmente la 1.1.4.

Si pruebas esta librería bajo un sistema operativo/plataforma diferente, por favor, escríbeme y hazme saber tus experiencias.

Software necesario

Instalación

Para instalar esta librería, sólo tienes que descargar y descomprimir el paquete en el directorio que quieras.

Nota para usuarios de Gentoo Linux.

Como método alternativo para instalar la librería, los usuarios de Gentoo Linux pueden descargar el ebuild actual y descomprimirlo dentro del directorio <Directorio overlay de portage>/www-apps. Una vez hecho esto, sólo necesitas escribir desde la consola (como root): # emerge phpdocwriter Este comando descargará e instalará PHP Docwriter en /usr/share/webapps/ y en la localización de tu virtual host por defecto (normalmente /var/www/localhost/htdocs/). Después de esto, puedes instalar la librería en cualquier otro virtual host si lo deseas, escribiendo: # webapp-config -I -h <host> -d /mywebapp/libs/ phpdocwriter 0.3 Para más información ver el manual de webapp-config(8).

Si únicamente quieres crear documentos OpenOffice.org XML, puedes pasar por alto la siguiente sección (Conversión de documentos), ya que no hay nada más que instalar o configurar.

Conversión de documentos

Como ya hemos explicado, esta librería sólo sabe generar documentos OpenOffice.org XML (es decir, documentos StarOffice/OpenOffice.org). Una vez el documento ha sido generado, la librería se puede comunicar con la aplicación OpenOffice.org para que dicha aplicación realice la conversión a otro formato deseado.

Esta función de conversión utiliza el puente Python-UNO incluido en la distribución OpenOffice.org e instalada por defecto desde la versión OpenOffice.org 1.1RC3 aunque es recomendable instalar la última (v1.1.4). No tienes que preocuparte por la instalación de python ya que OpenOffice.org viene con el runtime de python v2.2.2.

Este método sigue la arquitectura cliente-servidor, necesitas al menos una instalación OpenOffice.org (trabajando como cliente y servidor) o una instalación trabajando como cliente (la máquina donde se ejecuta PHP DocWriter) y otra instalación trabajando como servidor (la máquina que convierte documentos).

Nota.

En esta versión de las clases, cliente y servidor deben ser la misma máquina.

Configuración en el lado del servidor
  1. Cierra todas las instancias de OpenOffice.org (incluido el quickstarter).
  2. Para hacer que OpenOffice.org atienda peticiones sólo para una sesión, ejecuta desde la consola: # <OfficePath>\soffice "-accept=socket,host=localhost,port=2002;urp;"
  3. Para hacer que OpenOffice.org atienda peticiones cada vez que se arranque, abre el fichero <OfficePath>/share/registry/data/org/openoffice/Setup.xcu en un editor, y busca el elemento <node oor:name="Office"/>. Este elemento contiene elementos <prop/>. Añade el siguiente elemento <prop/> en el mismo nivel que los elementos existentes: <prop oor:name="ooSetupConnectionURL" oor:type="xs:string"> <value>socket,host=localhost,port=2002;urp;</value> </prop>

    Esto configura OpenOffice.org para proporcionar un socket en el puerto 2002, donde servira conexiones mediante el protocolo remoto UNO (urp).

    Nota en máquinas Linux.

    La aplicación OpenOffice.org necesita una sesión X para ejecutarse. Si eres un usuario de consola, necesitas crear una nueva. Para hacerlo, escribe desde la consola: # nohup /usr/X11R6/bin/Xvfb :25 -screen scrn 800x600x32 & para comenzar una nueva sesión.
    No olvides exportar la variable DISPLAY # DISPLAY=":25" <OfficePath>\soffice "-accept=socket,host=localhost,port=2002;urp;" Y usa: # /usr/bin/killall Xvfb cuando quieras matar la sesión X.
Configuración en el lado del cliente

En el lado del cliente necesitas rellenar algunos ficheros con los valores apropiados.

  1. Edita el fichero conf/config.php y cambia el valor de la constante pdw_tmpdir (sólo si fuera necesario). Esta constante debe contener una ruta válida de un directorio temporal donde PHP DocWriter pueda escribir/leer ficheros temporales (estos fichero son creados durante el proceso de conversión).
  2. Edita también el script de consola (conf/export.bat para windows, conf/export.sh para linux). En él, tienes que rellenar dos rutas, la ruta al ejecutable python de OpenOffice.org (algo como <RutaOffice>/program/python.sh) y la ruta al script de python (ruta absoluta al fichero export.py).