OOo2sDBK exporte une méthode convert qui permet de réaliser la conversion d'un document OpenOffice Writer.
import ooo2sdbk ooo2sdbk.convert("myDoc.sxw", docbook="myDocbook.xml", command="saxon") |
Enregistrez le script avec l'extension *.py (par exemple : conversion.py) dans le même répertoire que le document OpenOffice
Ouvrez un shell sous Linux ou une session DOS sous Windows :
Placez-vous dans le dossier ou se trouve votre script avec la commande CD
Saisissez la commande : python conversion.py
Après quelques instants, la conversion est faite (la durée dépend de la taille du document OpenOffice et de la rapidité du processeur).
convert(openoffice-filename, command=commandName, \ [docbook=docbook-filename], [imagesrew=0|1] [deltemp=0|1]) |
Chemin d'accès (relatif ou absolu) au fichier OpenOffice-Writer à convertir
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 3.4 Fichier de configuration ).
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 avec l'extension *.xml et sera enregistré dans le même répertoire. Par exemple : myDoc.sxw => myDoc.xml
Images Rewriting. 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.
Delete temporary file. 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.
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") |
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") |
Le fichier de configuration config.xml se trouve à la racine du répertoire ooo2sdbk. Il permet notamment de configurer les modèles de commandes des processeurs XSLT disponibles
<config> <xslt-command name="xsltproc" command="xsltproc -o %o %s %i"/> <xslt-command name="saxon" command="java com.icl.saxon.StyleSheet -o %o %i %s"/> <xslt-stylesheet stylesheetPath="docbook.xsl"/> <images imageNameRoot="img" imagesRelativeDirectory="images"/> </config> |
Permet de définir un modèle de commande pour le processeur XSLT
Nom du modèle de commande. Il sera appelé dans le script Python.
Commande de conversion du processeur XSL. Trois variables sont disponibles :
output, le nom du fichier XML produit
input, le nom du fichier XML entrant
stylesheet, le nom de la feuille de style XSL
Voici quelques exemple de commandes utilisables (à adaptés à votre système):
java com.icl.saxon.StyleSheet %i %s > %o java -jar /usr/java/classes/saxon/saxon.jar -o %o %i %s (Linux) java -cp C:\saxon\saxon.jar com.icl.saxon.StyleSheet %i %s > %o (Windows) |
Permet de définir le chemin d'accès vers la feuille de style docbook.xsl
Chemin relatif vers la feuille de style XSL à partir du fichier ooo2sdbk.py.
Permet de configurer l'extraction des images incorporées au document OpenOffice.
Radical du nom attribué aux images extraites du document OpenOffice.
Le radical "img" produira des image ayant pour nom : img001.png, img002.jpg, etc.
Le radical "pix" produira des images ayant pour nom : pix001.png, pix003.jpg, etc.
Nom du répertoire qui accueille les images extraites du document OpenOffice. Ce répertoire est généré automatiquement dans le même répertoire que le document Docbook.
Avant la version 2.4.22, Xsltproc ne gère pas correctement la conversion du Texte préformatté. Les retours de ligne, les espaces multiples et les tabulations sont perdus.
Sous Windows, Xsltproc ne gère pas correctement les chemins dans les balises import et include des feuilles XSLT (échec total de la conversion).