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.
Descarga (HTTP): http://www.apache.org/dist/xml/fop/fop-0.20.5-src.tar.gz
Descarga (FTP): ftp://apache.mirrors.pair.com/xml/fop/source/fop-0.20.5-src.tar.gz
Suma MD5 del paquete: 1a31eb1357e5d4b8d32d4cb3edae2da2
Tamaño del paquete: 7.8 MB
Estimación del espacio necesario en disco: 45.3 MB
Tiempo estimado de construcción: 0.25 SBU
Componentes Java Advanced Imaging (JAI) API: http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22& PartDetailId=jai-1_1_2_01-oth-JPR&SiteId=JSC&TransactionId=noreg
Suma MD5 del paquete: f2be3619a8d002eff3874355e96327eb
Tamaño del paquete: 2.6 MB
Elige el fichero “Linux JDK Install” tras aceptar la licencia.
http://www.linuxfromscratch.org/blfs/downloads/svn/fop_0.20.5-jdk_1.5.0-1.patch para usar con jdk-1.5.0.
libxslt-1.1.14, JIMI SDK, Batik y Forrest (usado sólo para reconstruir la documentación)
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.
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
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
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
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
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.
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
Last updated on 2005-04-24 17:54:32 +0200