4. Utilisation pour les scripts en Python

OOo2sDBK exporte une méthode convert qui permet de réaliser la conversion d'un document OpenOffice-Writer grâce à un script Python.

4.1. Étapes

  1. Avec un éditeur de texte, rédigez le script qui appellera la méthode convert du module ooo2sbk (voir 4.2 Syntaxe pour plus de détails). Par exemple, pour convertir le document myDoc.sxw en un document Docbook appelé myDocbook.xml avec le processeur Saxon, on rédigera le script suivant :

import ooo2sdbk
ooo2sdbk.convert("myDoc.sxw",docbook="myDocbook.xml", \
command="saxon")
  1. Enregistrez le script avec l'extension *.py (par exemple : conversion.py) dans le même répertoire que le document OpenOffice

  2. Ouvrez un shell sous Linux ou une session DOS sous Windows :

    1. Placez-vous dans le dossier ou se trouve votre script avec la commande cd

    2. Saisissez la commande : python conversion.py

  3. Après quelques instants, la conversion est faite (la durée dépend de la taille du document OpenOffice, de la rapidité du processeur XSLT et, bien sûr, de celle de la CPU).

4.2. Syntaxe

convert(openoffice-filename, command=commandName, \
[docbook=docbook-filename], [imagesrew=0|1] [deltemp=0|1])
OpenOffice-filename

Option obligatoire

Chemin d'accès (relatif ou absolu) au fichier OpenOffice-Writer à convertir

command= commandName

Option obligatoire.

commandName est le nom de la commande utilisée pour la conversion.

La liste des commandes disponibles se trouve le fichier de configuration config.xml. Le fichier contient 2 commandes préconfigurées : xsltproc et saxon (Voir section 5 Fichier de configuration).

docbook= Docbook-filename

Option facultative.

Chemin d'accès (relatif ou absolu) au fichier Docbook produit.

Si ce paramètre est omit, le fichier Docbook aura le même nom que le fichier OpenOffice et l'extension *.xml à la place de *.sxw. Il sera enregistré dans le même répertoire.

Par exemple : myDoc.sxw => myDoc.xml

imagesrew= 0|1

Images Rewriting.

Option facultative (1 par défaut).

Ne concerne que les images incorporées au document OpenOffice.

Si la valeur est 1, les images incorporées au document OpenOffice écrasent les images ayant le même nom dans le répertoire de destination.

Si la valeur est 0, les images déjà présentes dans le répertoire de destination ne sont pas réécrites.

deltemp= 0|1

Delete temporary file.

Cette option est facultative.

Si deltemp est 0, le fichier temporaire global.xml est préservé. Par défaut, il est détruit à la fin de la conversion (deltemp=1).

Le fichier global.xml est la concaténation de tous les fichiers XML du document OpenOffice. Il sert de base à la conversion. Surtout utile pour le développement. Par défaut, deltemp=1.

4.3. Exemples de scripts

4.3.1. Exemple 1 (Windows)

Les fichiers sont ici indiqués avec de chemins absolus, on utilise le processeur Saxon.

import ooo2sbk
ooo2sbk.convert("C:\monDocumentOOo.sxw", \
docbook="C:\monDocbook.xml", command="saxon")

4.3.2. Exemple 2 (Windows ou Linux)

Les chemins d'accès aux fichiers sont relatifs, cela suppose, ici, que le script se trouve dans le même répertoire que les fichiers. Le fichier Docbook produit sera : monDocumentOOo.xml

import ooo2sbk
ooo2sbk.convert("monDocumentOOo.sxw", command="saxon")

4.3.3. Exemple 3 (Linux)

Chemins d'accès absolus et utilisation de xsltproc.

import ooo2sbk
ooo2sbk.convert("/home/Documents/doc.sxw",\
docbook="/home/Documents/monDocbook.xml", command="xsltproc")

Copyright©2002 Eric Bellot
http://www.chez.com/ebellot/ooo2sdbk
Miroir : http://membres.lycos.fr/ebellot