Installer le filtre "Flat Writer XML" d'OpenOffice

Eric Bellot

Version 2.0 du document (pour OpenOffice 1.0, 1.0.1 et 1.0.2)

2003-04-30

Résumé

Ce document décrit l'installation du filtre Flat Writer XML (FlatXMLfilter) dans OpenOffice.org (Windows et Linux). Ce filtre permet à OpenOffice d'enregistrer directement des fichiers OpenOffice-Writer au format XML.


Table des matières

1. Présentation
2. Les 2 versions de FlatXML
2.1. XMerge-FlatXML
2.2. API-FlatXML
3. Limites du filtre
4. Installation de FlatXML sur GNU/Linux
5. Installation de FlatXML sur Windows
6. Liens

1. Présentation

Le filtre FlatXML (FlatXMLfilter) ajoute à OpenOffice la capacité d'enregistrer (et d'ouvrir) directement un document au format OpenOffice-XML. Au lieu d'obtenir un fichier monDocument.sxw, on obtient un fichier monDocument.xml.

Après l'installation du filtre, on trouve une nouvelle entrée "Flat Writer XML file" dans les boîtes d'ouverture et d'enregistrement d'OpenOffice-Writer.

L'intérêt de ce filtre est que le document produit peut immédiatement être traité comme n'importe quel document XML et notamment être converti grâce à une feuille de style et un processeur XSLT (Saxon, Xsltproc, etc.).

Le filtre FlatXML est disponible pour Windows, Linux et Solaris. L'installation sur Solaris n'est pas abordée dans ce document.

2. Les 2 versions de FlatXML

Il existe 2 versions du filtre FlatXML :

2.1. XMerge-FlatXML

Ce filtre est développé par le groupe xml.openoffice.org. Il appartient à un ensemble plus vaste de filtres écrits en Java.

Cette version sera implémentée nativemement dans les prochaines versions d'OpenOffice. Elle est déjà intégrée à OpenOffice 643c (version de développement).

XMerge-FlatXML requiert la présence d'un environnement Java (J2RE 1.4 et +)

Note

XMerge-FlatXML pose de gros problèmes d'installation. Je n'ai pas réussit à tous les résoudre.

A titre personnel, j'ai abandonné l'utilisation de ce filtre sous Linux. En environnement Windows, je n'ai jamais réussit à l'incorporer qu'à une installation standard d'OpenOffice. Echec complet pour un installation réseau/multi-utilisateurs.

De plus, XMerge-FlatXML a un bogue génant. Lorsque des chevrons sont présents dans le corps du texte ("<" et ">"), ils sont passés tels quels au document XML au lieu d'être correctement encodés en &lt; et &gt;. Le document XML obtenu est donc erroné et inutilisable.

2.2. API-FlatXML

Ce filtre est plus ancien que XMerge-FlatXML. Il est développé en C++.

Malgré son ancienneté, il s'installe facilement et n'a pas le bogue de la version XMerge-FlatXML.

Note

Dans ce document, seule l'installation du filtre API-FlatXML est abordée.

3. Limites du filtre

Un certains nombre d'éléments peuvent poser problème.

Marques de révisions

Les marques de révisions (Fichier > Versions...) du document sont perdues.

Images incorporées

Les images incorporées sont intégrées au document XML mais elles sont encodées en Base64. Je ne connais aucun moyen de les réutiliser avec un processeur XSLT ou un parseur.

Le résultat concret est qu'elles sont inutilisables.

On peut contourner ce problème en évitant d'incorporer les images dans le document SXW et en utilisant la liaison. Il suffit de cocher Lien dans la boîte de dialogue d'insertion des images. C'est le principe qu'on retrouve dans les pages HTML.

Pour ceux qui visent à produire un document Docbook. Il est possible d'utiliser le filtre OOo2sDbk [1] que je réalise. Il est fourni avec des scripts Python qui extraient les images et créent des liens corrects dans le fichier Docbook.

4. Installation de FlatXML sur GNU/Linux

La procédure ci-dessous a été testée avec OpenOffice-1.0 sur Linux-Mandrake 8.2 et OpenOffice-1.0.1 et 1.0.2 sur Linux-Mandrake 9.0 et 9.1.

  1. Quittez OpenOffice s'il est lancé.

  2. Téléchargez l'archive Flatxmlfilter.zip.

    URL : http://api.openoffice.org/servlets/ProjectDownloadList

    Décompressez-la. Vous obtenez une répertoire FlatXMLfilter.

  3. Dans ce répertoire, vous trouverez un sous-répertoire Linux contenant deux fichiers :

    • regcomp

    • libgenericxmlfilter.so

    Copiez ces deux fichiers dans <install-OOo>/program (<install-OOo> est le répertoire où OpenOffice est installé).

    Par exemple :

    cp ~/FlatXMLfilter/Linux/* /usr/lib/openoffice/program/
  4. Exportez la variable d'environnement LD_LIBRARY_PATH pour qu'elle contienne le répertoire <install-OOo>/program.

    Par exemple :

    export LD_LIBRARY_PATH=/usr/lib/openoffice/program:$LD_LIBRARY_PATH
  5. Placez-vous maintenant dans le répertoire <install-OOo>/program.

    Par exemple :

    cd /usr/lib/openoffice/program
  6. Saisissez alors la commande suivante :

    ./regcomp -register -r applicat.rdb -c libgenericxmlfilter.so

    Si tout se passe bien, vous obtenez le message suivant :

    register component "libgenericxmlfilter.so" 
    in registry "applicat.rdb" succesfull!
  7. Enfin, copiez le fichier TypeDetection.xml dans votre répertoire personnel de la façon suivante :

    cp ~/FlatXMLfilter/TypeDetection.xml \
    ~/.openoffice/user/config/registry/instance/org/openoffice/Office
  8. Redémarrer OpenOffice pour profiter du nouveau filtre

5. Installation de FlatXML sur Windows

La procédure ci-dessous a été testée avec succès sur Windows 98SE, Me et 2000, elle fonctionne avec OpenOffice-1.0 et 1.0.1.

  1. Quittez OpenOffice s'il est lancé, ainsi que le Démarrage rapide.

  2. Téléchargez l'archive Flatxmlfilter.zip.

    URL : http://api.openoffice.org/servlets/ProjectDownloadList

    Décompressez-la. Vous obtenez une répertoire FlatXMLfilter.

  3. Dans ce répertoire, vous trouverez un répertoire Windows contenant deux fichiers :

    • regcomp.exe

    • genericxmlfilter.dll

    Copiez ces deux fichiers dans <install-OOo>\program (<install-OOo> est le répertoire où OpenOffice est installé).

    Par défaut, il s'agit du répertoire :

    C:\Program Files\OpenOffice.org1.0.1\program
  4. Ajoutez le répertoire <install-OOo>\program à la variable d'environnement PATH.

    Ouvrez une ligne de commande et passez la commande suivante :

    set PATH=C:\Program Files\OpenOffice.org1.0.1\program;%PATH%
  5. Placez-vous maintenant dans le répertoire <install-OOo>/program à l'aide de la commande cd.

  6. Saisissez alors la commande suivante :

    regcomp -register -r applicat.rdb -c genericxmlfilter.dll

    Si tout se passe bien, vous obtenez le message suivant :

    register component "genericxmlfilter.dll" 
    in registry "applicat.rdb" succesfull!

    Note

    En cas de problème, recommencez l'opération en n'utilisant que des noms de fichiers de 8 lettres :

    regcomp -register -r applicat.rdb -c generi~1.dll
  7. Enfin, copiez le fichier TypeDetection.xml -- vous le trouvez à la racine du répertoire FlatXMLfilter -- dans le répertoire suivant :

    C:\Program Files\OpenOffice.org1.0.1\share\config\
    registry\instance\org\openoffice\Office

    Tous les utilisateurs pourront utiliser le filtre.

    Note

    Si vous êtes utilisateur de Win2000/XP, vous pouvez placer TypeDetection.xml dans votre répertoire personnel :

    C:\Documents and settings\[userName]\OpenOffice.org1.0.1\
    user\config\registry\instance\org\openoffice\Office
  8. Redémarrez OpenOffice pour profiter du nouveau filtre

6. Liens




http://www.chez.com/ebellot
Miroir : http://membres.lycos.fr/ebellot