FOP-0.20.5

Introducción a FOP

El paquete FOP (Formatting Objects Processor) contiene un controlador de formato de impresión para formateo de objetos XSL (XSL-FO). Es una aplicación Java que lee y formatea árboles de objetos y procesa las páginas resultantes a la salida especificada. Los formatos de salida soportados actualmente son PDF, PCL, PostScript, SVG, XML (representación de área de árbol), impresión, AWT, MIF y texto ASCII. El objetivo de salida primario es PDF.

Información sobre el paquete

Descargas adicionales

Elige el fichero “Linux JDK Install” tras aceptar la licencia.

Dependencias de FOP

Requerida

JDK-1.5.0

Opcionales

libxslt-1.1.14, JIMI SDK, Batik y Forrest (usado sólo para reconstruir la documentación)

Instalación deFOP

[Nota]

Nota

Asegurate de tener correctamente establecida la variable de entorno $JAVA_HOME antes de iniciar la construcción.

Algunas versiones de tar mostrarán un mensaje similar a “tar: A lone zero block at 33476” al desempaquetar las fuentes. Puedes ignorar este mensaje sin problemas.

Instalación de JAI

Instala los componentes JAI ejecutando los siguientes comandos como usuario root mientras estás en el raíz del árbol de las fuentes de FOP:

chmod 755 ../jai-1_1_2_01-lib-linux-i586-jdk.bin &&
FOP_BUILD_DIR=$(pwd) &&
cd $JAVA_HOME &&
yes | $FOP_BUILD_DIR/../jai-1_1_2_01-lib-linux-i586-jdk.bin &&
cd $FOP_BUILD_DIR

Instalación de los componentes FOP requeridos

Instala FOP ejecutando los siguientes comandos:

patch -Np1 -i ../fop_0.20.5-jdk_1.5.0-1.patch &&
./build.sh &&
sed -i -e "s/build/lib/" fop.sh

Ahora, como usuario root:

install -v -d -m755 \
    /opt/fop-0.20.5/{bin,lib,docs/{general,lib,site}} &&
install -v -m755 fop.sh /opt/fop-0.20.5/bin &&
install -v -m644 build/fop.jar lib/avalon-framework-cvs-20020806.jar \
    /opt/fop-0.20.5/lib &&
install -v -m644 docs/* /opt/fop-0.20.5/docs &&
install -v -m644 CHANGES LICENSE README ReleaseNotes.html STATUS \
    /opt/fop-0.20.5/docs/general &&
install -v -m644 lib/{avalon.LICENSE.txt,readme} \
    /opt/fop-0.20.5/docs/lib &&
cp -v -R build/site/* /opt/fop-0.20.5/docs/site &&
ln -svf fop-0.20.5 /opt/fop

Instalación del JAR de Batik

Necesitarás instalar uns librería de clases Java adicional para procesar objetos SVG. Esta librería es parte del paquete Batik, pero se incluye también con el paquete FOP. Si tienes instalado Batik, asegurate de que la librería batik.jar está incluida en tu variable de entorno $CLASSPATH. Alternativamente, crea un enlace simbólico /opt/fop-0.20.5/lib/batik.jar apuntando a la ruta completa del fichero batik.jar instalado para que el guión fop.sh pueda detectarlo automáticamente.

Si no tienes instalado el paquete Batik, ejecuta los siguientes comandos como usuario root:

install -v -m644 lib/batik.jar /opt/fop-0.20.5/lib &&
install -v -m644 lib/batik.LICENSE.txt \
    /opt/fop-0.20.5/docs/lib

Instalación de los componentes Xalan-Java

Los componentes de FOP requeridos para procesar ficheros FO creados por una herramienta de transformación XSL (conocidos también como procesadores XSLT) están completos. Una herramienta de transformación XSL (xsltproc) se incluye en el paquete libxslt-1.1.14 del BLFS. El paquete FOP incluye componentes de Xalan-Java para hacer las transformaciones XSL. Si tienes el paquete Xalan-Java instalado, saltate esta sección.

Si desas instalar los componentes Xalan-Java proporcionados por el paquete FOP, ejecuta los siguientes comandos como usuario rootr:

sed -i -e "s/build/lib/" xalan.sh &&
install -v -m755 xalan.sh /opt/fop-0.20.5/bin &&
install -v -m644 lib/xml-apis.jar \
                 lib/xercesImpl-2.2.1.jar \
                 lib/xalan-2.4.1.jar \
    /opt/fop-0.20.5/lib &&
install -v -m644 lib/{xml-apis,xerces,xalan}.LICENSE.txt \
                 lib/xml-apis.README.txt \
    /opt/fop-0.20.5/docs/lib

Instalación del JAR de Jimi SDK

Si instalaste la librería de clases Java Image I/O (Jimi SDK) dentro del directorio lib del árbol de las fuentes de FOP antes de iniciar su construcción (lo que activariá el soporte de Jimi), asegurate de instalar también dicho fichero JAR en /opt/fop-0.20.5/lib.

Explicación de los comandos

yes | $FOP_BUILD_DIR/../jai-...-jdk.bin: Este comando instala los componentes JAI en la estructura de ficheros de JDK. El comando yes es tunelizado para que no tengas que recorrer las cuatro páginas de la licencia y responder automáticamente “yes” a la aceptación. $FOP_BUILD_DIR se usa como punto de referencia al ejecutable de las fuentes y como método para volver al árbol de las fuentes de FOP.

sed -i -e "s/build/lib/" ...: Estos comandos modifican un guión instalado para que la localización del fichero fop.jar instalado se identifique correctamente.

install -v ...; cp -v ...: No se proporciona un guión de instalación con el paquete FOP. Estos comandos instalan el paquete.

ln -svf fop-0.20.5 /opt/fop: Esto crea un enlace simbólico de conveniencia para que $FOP_HOME no tenga que modificarse cada vez que hay un cambio en la versión del paquete.

Configuración de FOP

Fichero de configuración

~/.foprc

Información sobre la configuración

Usar FOP para procesar algunos ficheros FO de gran tamaño (incluido el FO derivado de las fuentes XML del BLFS), puede provocar errores de memoria. A no ser que le añadas un parámetro al comando java usado en el guión fop.sh, recivirás mensajes como el siguiente:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Para evitar errores como este, necesitas pasarle un parámetro extra al comando java usado en el guión fop.sh. Esto puede hacerse creando un ~/.foprc (que es leido por el guión fop.sh) y añadir el parámetro a la variable de entorno FOP_OPTS.

El guion fop.sh busca la variable de entorno FOP_HOME para encntrar la librerías de clases de FOP. También puedes crear esta variable usando el fichero ~/.foprc. Crea un fichero ~/.foprc usando los siguientes comandos:

cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx[RAM_Instalada]m"
FOP_HOME="/opt/fop"

EOF

Reemplaza [RAM_Instalada] por un número que represente la cantidad de RAM instalada en tu computador. Un ejemplo podría ser FOP_OPTS="-Xmx768m". Para más información sobre roblemas de memoria ejecutando FOP, mira http://xml.apache.org/fop/running.html#memory.

Para incluir el guión fop.sh en tu ruta, actualiza tu profile personal o el del sistema con lo siguiente:

PATH=$PATH:/opt/fop/bin

Contenido

Programas instalados: fop.sh y xalan.sh
Librerías instaladas: avalon-framework-cvs-20020806.jar, batik.jar, fop.jar, xalan-2.4.1.jar, xercesImpl-2.2.1.jar and xml-apis.jar. JAI components include libmlib_jai.so, jai_codec.jar, jai_core.jar y mlibwrapper_jai.jar
Directorio instalado: /opt/fop-0.20.5

Descripciones cortas

fop.sh

Un guión envoltorio del comando java que establece el entorno de FOP y le pasa los parámetros requeridos.

fop.jar

Contiene todas las clases Java de FOP.

Last updated on 2005-04-24 17:54:32 +0200