Contenu
/opt/fop/{build,lib}
; JAI components include
libmlib_jai.so, jai_codec.jar, jai_core.jar, et
mlibwrapper_jai.jar
Le paquet FOP (Formatting Objects Processor) contient un formateur d'impression guidé par le formatage XSL d'objets (XSL-FO). C'est une application Java qui lit une arborescence d'objets de formatage et qui produit les pages qui en résulte vers une sortie spécifique. Les formats de sortie actuellement supportés comprennent le PDF, PCL, PostScript, SVG, XML (représentation en arborescence de zone), print, AWT, MIF et texte ASCII. La cible sortie primaire est le PDF.
Ce paquet est connu pour se construire et fonctionner correctement sur une plateforme LFS-SVN-20101029 .
Téléchargement (HTTP) : http://archive.apache.org/dist/xmlgraphics/fop/source/fop-1.0-src.tar.gz
Téléchargement (FTP) : ftp://anduin.linuxfromscratch.org/BLFS/svn/f/fop-1.0-src.tar.gz
Somme de contrôle MD5 du téléchargement : 95dcc4c2dd08b4bc88ce9ce1ee88c439
Taille du téléchargement : 16.1 Mio
Estimation de l'espace disque requis : 360 Mio
Estimation du temps de construction : 2.8 SBU
Requises packages
Modèles de césure Objects for Formatting Objects
(OFFO) :
http://downloads.sourceforge.net/offo/offo-hyphenation_v2.0.zip
a78171d47c9af223c51bbd42df36f26d
858 Kio
Composants de l'API Java Advanced Imaging
(JAI) :
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-i586-jdk.bin
a63b661c4940582aa1679233e5f518b2
3.4 Mio
Xorg-7.6, Apache Ant-1.8.1, et Java Advanced Imaging (JAI) API components
JIMI SDK, XMLUnit, JAI Image I/O Tools, JEuclid, PMD (requires Jaxen), et Forrest (Forrest est utilisé seulement pour reconstruire la documentation)
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/fop
Vous devez lancer cette installation depuis une fenetre X utilisant un server GL-aware Xorg ou les tests JUnit se bloqueront. Utiliser une fenètre X depuis une console est la bonne methode.
Assurez-vous que $JAVA_HOME
est
correctement paramétré avant de commencer la construction. Pour
construire les classes d'extension JIMI
SDK et/u XMLUnit,
assurez-vous que les fichiers .jar
correspondant sont identifiés dans la variable d'environnement in
the CLASSPATH
.
Avant de commencer la construction, déballez l'archive tar du source de FOP et le fichier zip de césure à partir du même répertoire, puis allez dans les répertoires dans la racine de l'arborescence du source de FOP. Copier les modèles de césure XML dans l'arborescence du source de FOP en lançant les commandes suivantes :
cp ../offo-hyphenation/hyph/* hyph && rm -rf ../offo-hyphenation
La commande $FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin ci-dessous installe les composants JAI dans l'arborescence JDK. Vous devrez lire et accepter (en appuyant sur la touche y), un contrat de licence avant que l'installation ne continue. Si vous faites un script (pour automatiser) pour la construction, vous devrez en tenir compte. Il y a des informations sur l'automatisation des commandes de construction dans la section Automated Building Procedures du chapitre 2. Vers la fin de cette section, des informations spécifiques sur l'automatisation de ce type d'installation sont données.
Installez les composants JAI en lançant les commandes suivantes
en tant qu'utilisateur root
tout
en étant à la racine de l'arborescence du source de FOP :
FOP_PKG_DIR=$(pwd)/.. && pushd $JAVA_HOME && sh $FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin && popd
Si forrest n'est pas installé, supprimez une référence à lui dans le build.xml :
sed -i -e "s/all,javadocs,docs/all,javadocs/" \ -e '\#${dist.bin.result.dir}/docs#,\#</copy>#d' build.xml
Compilez FOP en lançant les commandes suivantes :
ant dist
Les tests de régression d'unité ont été faits à l'étape de la construction ci-dessus.
Maintenant en tant qu'utilisateur root
:
install -v -d -m755 /opt/fop-1.0 && mv -v dist-bin/fop-1.0/* /opt/fop-1.0 && ln -v -sf fop-1.0 /opt/fop
FOP_PKG_DIR=$(pwd)/.. : Cela suppose que les paquets sources sont stockés un niveau au-dessus du répertoire de travail actuel, C'est toujours le cas par défaut, mais cela peut être différent en fonction des goûts personnels. Si nécessaire, modifiez cela pour correspondre au répertoire où on trouve l'archive tar FOP.
sh
$FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin:
Cette commande installe les composants JAI dans la structure de fichiers JDK. $FOP_PKG_DIR
est utilisé comme point de référence vers l'exécutable du source.
ant dist : Ceci
lit la cible dist
du fichier
build.xml
,construit le paquet et
lance les tests de régression d'unité. Il crée aussi la
documentation de l'API Java et un répertoire où sont mis les
binaires nouvellement créés. Ce répertoire est utilisé pour
installer FOP à sa place
définitive.
ln -v -sf fop-1.0
/opt/fop : C'est facultatif et cela crée un
lien symbolique commode pour qu'on n'ait pas besoin de modifier
$FOP_HOME
à chaque fois qu'il y a un
changement de version de paquet.
L'utilisationn de FOP pour traiter certains gros FO's (y compris les FO dérivés des sources XML de BLFS), peut conduire à des erreurs de mémoire. Sauf si vous ajoutez un paramètre à la commande java, utilisé dans le script fop, il se peut que vous receviez des messages similaires à celui décrit ci-dessous :
Exception in thread "main"
java.lang.OutOfMemoryError: Java heap space
Pour éviter des erreurs comme ça, vous avez besoin de passer un
paramètre supplémentaire à la commande java utilisé dans le script
fop. On peut faire
cela en créant un ~/.foprc
(dont la
soupee est dans le script fop) et en ajoutant le
paramètre à la variable d'environnement FOP_OPTS
.
Le script fop
cherche une variable d'environement FOP_HOME
pour localiser les bibliothèques de la
classe FOP. Vous pouvez créer
cette variable en utilisant aussi le fichier ~/.foprc
. Créez un fichier ~/.foprc
en utilisant les commandes
suivantes :
cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx<RAM_Installée>
m"
FOP_HOME="/opt/fop"
EOF
Remplacez <RAM_Installée>
par un
nombre représentant la quantité de RAM installée sur votre
ordinateur (en mégaoctets). Un exemple serait FOP_OPTS="-Xmx768m"
. Pour plus
d'informations sur les problèmes de mémoire en utilisant
FOP, voir http://xml.apache.org/fop/running.html#memory.
Pour inclure le script fop dans votre path, mettez à jour votre profil personnel ou pour tout le système avec ce qui suit :
PATH=$PATH:/opt/fop
/opt/fop/{build,lib}
; JAI components include
libmlib_jai.so, jai_codec.jar, jai_core.jar, et
mlibwrapper_jai.jar
Last updated on 2010-11-12 15:13:51 +0100