Boire ou coder ... Pourquoi choisir?
Publié le 21 mai 2009 22:00

PyUNO : ouvrir un document HTML et l'enregistrer en DOC

Après avoir démarré le serveur Open Office, voyons maintenant comment utiliser ce que celui-ci nous apporte.

Je ne vais pas détailler toutes les possibilitées offertes par celui-ci puisqu'elles sont simples : vous pouvez faire tout ce que vous faites avec Open Office en mode bureautique. Sauf que la, c'est du python et c'est automatique !

Commençons donc par ouvrir notre fichier.

cSourceDoc = "/path/to/your/file.html"
url = unohelper.systemPathToFileUrl(cSourceDoc)
args = (PropertyValue('FilterName', 0, 'HTML (StarWriter)', 0),)
model = desktop.loadComponentFromURL(url, "_blank", 0, args)
Nous précisons donc le nom du fichier; nous en définissons les paramètres d'ouverture en indiquant qu'il s'agit d'un document HTML. Puis nous ouvrons. Une liste de tous les FilterNames disponibles est accessibles ici. Mais, malheureusement, comme un peu tout avec PyUNO, elle est très mal documentée.

Maintenant que nous avons ouvert notre document, il faut l'enregistrer dans un autre format.

theTargetFile = '/path/to/your/file.doc'
url = unohelper.systemPathToFileUrl(theTargetFile)
args = (PropertyValue('FilterName', 0, 'MS Word 97', 0), PropertyValue('Unpacked', 0, False, 0),)</p>

<p>model.storeAsURL(url, args)
Nous définissons donc le chemin vers le fichier; le format final et enregistrons.

A cela nous ajoutons la fermeture du client.

print('Closing the client ...')
model.close(True)
ctx.ServiceManager
Et, comme d'habitude, vous pouvez voir le code complet.

Commentaires

Postez un commentaire

Markdown activé