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 correctement sur une plateforme LFS-7.7.
Téléchargement (HTTP) : https://archive.apache.org/dist/xmlgraphics/fop/source/fop-1.1-src.tar.gz
Somme de contrôle MD5 du téléchargement : 7b63af514b28c06fe710a794cbf4d68e
Taille du téléchargement : 23 Mo
Estimation de l'espace disque requis : 206 Mo
Estimation du temps de construction : 0.5 SBU
Paquets requis
Composants de l'API Java Advanced Imaging (JAI)
(fonction de l'architecture) :
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-i586.tar.gz
a2cbc155ef3899bcde9c74a8035764b3
3.4 Mo
ou
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-amd64.tar.gz
4a906db35612f668aeef2c0606d7075b
3.4 Mo
JUnit-4.11 (pour exécuter les tests), X Window System (pour exécuter les tests) 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
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 peuvent être trouvés par la variable d'environnement
CLASSPATH
.
Installez les composants de l'API de JAI. En tant qu'utilisateur
root
:
case `uname -m` in i?86) tar -xf ../jai-1_1_3-lib-linux-i586.tar.gz cp -v jai-1_1_3/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/ cp -v jai-1_1_3/lib/libmlib_jai.so $JAVA_HOME/jre/lib/i386/ ;; x86_64) tar -xf ../jai-1_1_3-lib-linux-amd64.tar.gz cp -v jai-1_1_3/lib/{jai*,mlibwrapper_jai.jar} $JAVA_HOME/jre/lib/ext/ cp -v jai-1_1_3/lib/libmlib_jai.so $JAVA_HOME/jre/lib/amd64/ ;; esac
La commande javadoc venant avec OpenJDK 8 est devenu plus strict qu'avant à propos de la conformité des commentaires javadoc dans le code source vers l'HTML. La documentation de FOP ne respecte pas ces stantards, aussi les tests de conformité ont été désactivés. Cela peut être fait avec la commande suivante:
sed -i '\@</javad@i<arg value="-Xdoclint:none"/>' build.xml
Ensuite, compilez fop en lançant les commandes suivantes :
ant compile && ant jar-main && ant javadocs && mv build/javadocs .
Si Forrest est installé, construisez la totalité de la documentation:
ant docs
Pour tester l'application, lancez ant junit-all. Les tests de césure échoueront. Pour voir une liste des autres cibles de test, utilisez ant -p. Vous devez lancer les tests depuis un X-window utilisant un serveur GL-aware de Xorg ou certains des tests de JUnit planteront.
Maintenant en tant qu'utilisateur root
:
install -v -d -m755 /opt/fop-1.1 && cp -v KEYS LICENSE NOTICE README /opt/fop-1.1 && cp -va build conf examples fop* javadocs lib status.xml /opt/fop-1.1 && ln -v -sf fop-1.1 /opt/fop
ant target
: Cela lit le fichier
build.xml
et construit les fichiers
cibles.
ln -v -sf fop-1.1
/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_Installed>
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 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
L'exécution de fop peut être un peu
verbeuse. Le niveau de journalisation par défaut peut être
changé à INFO pour toutes les varibales FINEST, FINER, FINE,
CONFIG, INFO, WARNING, SEVERE, ALL, ou OFF. Pour faire cela,
éditez $JAVA_HOME/jre/lib/logging.properties
et
changez les entrées pour .leval
et
java.util.logging.ConsoleHandler.level
à la
valeur désirée.
/opt/fop/{build,lib}
; JAI components include
libmlib_jai.so, jai_codec.jar, jai_core.jar, et
mlibwrapper_jai.jar
Last updated on : 2013-03-13 18:58:54 +010