FOP-1.0

Introduction à FOP

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 .

Informations sur le paquet

Téléchargements supplémentaires

Requises packages

Dépendances de FOP

Requises

Xorg-7.6, Apache Ant-1.8.1, et Java Advanced Imaging (JAI) API components

Facultatives

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

Installation de FOP

[Important]

Important

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.

Installer les modèles de césure OFFO

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

Installer JAI

[Astuce]

Astuce

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

Installer les composants FOP

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

Explication des commandes

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.

Configuration de FOP

Fichiers de configuration

~/.foprc

Informations de configuration

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

Contenu

Programmes installés: fop
Bibliothèques installées: fop.jar et numerous support library classes located in /opt/fop/{build,lib}; JAI components include libmlib_jai.so, jai_codec.jar, jai_core.jar, et mlibwrapper_jai.jar
Répertoire installé: /opt/fop-1.0

Descriptions courtes

fop

est un script enveloppe pour la commande java qui paramètre l'environnement FOP et passe les paramètres requis.

fop.jar

contient toutes les classes Java de FOP.

Last updated on 2010-11-12 15:13:51 +0100