Il pacchetto FOP (Formatting Objects Processor) contiene un formattatore di stampa basato su oggetti di formattazione XSL (XSL-FO). È un'applicazione Java che legge un albero di oggetti di formattazione e mostra le pagine risultanti in uno specifico output. I formati output attualmente supportati includono PDF, PCL, PostScript, SVG, XML (rappresentazione ad albero), stampa, AWT, MIF e testo ASCII. Il principale target output è PDF.
Download (HTTP): http://www.apache.org/dist/xml/fop/fop-0.20.5-src.tar.gz
Download (FTP): ftp://apache.mirrors.pair.com/xml/fop/source/fop-0.20.5-src.tar.gz
Download MD5 sum: 1a31eb1357e5d4b8d32d4cb3edae2da2
Dimensione del download: 7.8 MB
Stima dello spazio su disco richiesto: 45.3 MB
Stima del tempo di costruzione: 0.25 SBU
Componenti dell'APIJava Advanced Imaging (JAI): http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22& PartDetailId=jai-1_1_2_01-oth-JPR&SiteId=JSC&TransactionId=noreg
Download MD5 sum: f2be3619a8d002eff3874355e96327eb
Dimensione del download: 2.6 MB
Scegliere il “JDK per Linux ”. Installare il file dopo aver accettato il contratto della licenza.
libxslt-1.1.12, JIMI SDK, Batik e Forrest (usata solo per ricostruire la documentazione)
Assicurarsi che $JAVA_HOME sia impostata correttamente prima di iniziare la compilazione. Inoltre, la compilazione fallirà se si usa una versione di JDK superiore alla 1.4.2_x.
Alcune versioni di tar mostreranno un messaggio simile a “tar: A lone zero block at 33476” durante la scompattazione del tarball sorgente. Si può ignorare questo messaggio senza problemi.
Installare le componenti JAI eseguendo i seguenti comandi come utente root e ponendosi alla radice dell'albero dei sorgenti 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
Installare FOP eseguendo i seguenti comandi:
./build.sh &&
sed -i -e "s/build/lib/" fop.sh
Ora, come utente:
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
Sarà necessario installare un'ulteriore libreria di classi Java per processare oggetti SVG. Questa libreria è parte del pacchetto Batik, ma è anche inclusa nel pacchetto FOP. Se si è installato Batik, assicurarsi che la libreria batik.jar sia inclusa nella propria variabile di ambiente $CLASSPATH. Alternativamente, creare un link simbolico da /opt/fop-0.20.5/lib/batik.jar che punti al path completo del file batik.jar installata, in modo che lo script fop.sh lo trovi automaticamente.
Se non si è installato il pacchetto Batik, eseguire i seguenti comandi come utente 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
Le componenti di FOP necessarie per processare i file FO creati da un motore di trasformazione XSL (noto anche come processore XSLT) sono ora complete. Un motore di trasformazione XSL (xsltproc) è incluso nel pacchetto libxslt-1.1.12 in BLFS. Il pacchetto FOP include componenti di Xalan-Java che eseguono trasformazioni XSL. Se si è installato il pacchetto Xalan-Java, saltare al prossimo paragrafo.
Se si vogliono installare le componenti Xalan-Java fornite dal pacchetto FOP, eseguire i seguenti comandi come utente root:
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: Questo comando installa le componenti JAI nella struttura di file JDK. Il comando yes è dato in pipe in modo che non è necessario far scorrere a video le quattro pagine del contratto di licenza e che si risponde automaticamente “si” al contratto. $FOP_BUILD_DIR è usato come un punto di riferimento al sorgente dell'eseguibile e come un metodo per tornare indietro all'albero dei sorgenti di FOP.
sed -i -e "s/build/lib/" ...: Questi comandi modificano gli shell script installati, in modo che la locazione del file fop.jar installato venga correttamente identificata.
install -v ...; cp -v ...: Non c'è nessuno script di installazione fornito dal pacchetto FOP. Questi comandi installano il pacchetto.
ln -svf fop-0.20.5 /opt/fop: Questo crea un link simbolico di convenienza in modo che $FOP_HOME non deve essere cambiata ogni volta che cambia la versione del pacchetto.
L'utilizzo di FOP per processare alcuni grandi FO (compresi i FO derivati da sorgenti XML BLFS), può provocare errori di memoria. Se non si aggiunge un parametro al comando java usato nello script fop.sh si possono ricevere messaggi simili a quello riportato di seguito:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Per evitare errori come questo, bisogna passare un ulteriore parametro al comando java usato nello script fop.sh. Ciò può essere fatto creando uno script ~/.foprc (che è lanciato da fop.sh) e aggiungendo il parametro alla variabile di ambiente FOP_OPTS.
Lo script fop.sh cerca una variabile di ambiente FOP_HOME per localizzare le librerie di classi FOP. Si può creare questa variabile sempre utilizzando il file ~/.foprc. Creare il file ~/.foprc usando i seguenti comandi:
cat > ~/.foprc << "EOF" FOP_OPTS="-Xmx[RAM_Installed]m" FOP_HOME="/opt/fop" EOF
Sostituire [RAM_Installed] con un numero che rappresenti la quantità di RAM installata sul proprio computer. Un esempio potrebbe essere FOP_OPTS="-Xmx768m". Per maggiori informazioni sulle richieste di memoria per eseguire FOP, si consulti http://xml.apache.org/fop/running.html#memory.
Per includere lo script fop.sh nel proprio path, aggiornare il profilo personale o di sistema con il seguente comando:
PATH=$PATH:/opt/fop/bin
Last updated on