FOP-0.20.5

Introduzione a FOP

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.

Informazioni sul pacchetto

Download aggiuntivi

Scegliere il “JDK per Linux ”. Installare il file dopo aver accettato il contratto della licenza.

Dipendenze per FOP

Necessarie

J2SDK-1.4.2

Opzionali

libxslt-1.1.12, JIMI SDK, Batik e Forrest (usata solo per ricostruire la documentazione)

Installzione di FOP

[Nota]

Nota

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.

Installazione di JAI

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

Installazione delle componenti FOP necessarie

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

Installazione di Batik JAR

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

Installazione delle componenti Xalan-Java

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

Installazione di Jimi SDK JAR

Se si è installata la libreria di classi Java Image I/O (Jimi SDK) nella directory lib dell'albero dei sorgenti FOP prima di compilare FOP (questo abiliterà il supporto per Jimi), assicurarsi di aver anche installato questo file JAR in /opt/fop-0.20.5/lib.

Spiegazioni dei comandi

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.

Configurazione di FOP

File di configurazione

~/.foprc

Informazioni di configurazione

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

Contenuti

Programmi installati: fop.sh e xalan.sh
Librerie installate: avalon-framework-cvs-20020806.jar, batik.jar, fop.jar, xalan-2.4.1.jar, xercesImpl-2.2.1.jar e xml-apis.jar. Le componenti JAI includono libmlib_jai.so, jai_codec.jar, jai_core.jar e mlibwrapper_jai.jar
Directory installate: /opt/fop-0.20.5

Brevi descrizioni

fop.sh

è uno script wrapper per il comando java che inizializza l'ambiente FOP e passa i parametri richiesti.

fop.jar

contiene tutte le classi Java per FOP.

Last updated on