User talk:Akiedispowa

From Apache OpenOffice Wiki
Jump to: navigation, search

I – Démarrons avec PyUNO!


La technologie « composant » d’OpenOffice.org se nomme UNO (Universal Network Object). Concrètement, cette technologie est utilisée pour interpréter des scripts écrits sous d’autres langages et peut être envoyé depuis d’autres machines du réseau pouvant disposer d’une autre architecture logiciel (Linux, Windows). Autrement dit, ce composant fait office de pont entre un langage de programmation et le logiciel OpenOffice.org, donc on peut piloter le logiciel OpenOffice.org avec d’autres langages. Les langages de programmation qui possèdent des liens complets avec UNO sont : Java, Python et C++. D’où l’appellation PyUNO concernant le langage Python.

Le but de ce tutorial sera de convertir un document Microsoft Word (*.doc) ou un document OpenOffice (*.odt) en document PDF.

Le principe est simple, vous crééz un document ( Un rapport par exemple ) avec une structure du type:

Titre partie I sous-partie 1 sous-partie 2 partie II sous-partie 1 sous-partie 2

Grâce à PyUNO, vous allez convertir ce document en PDF.

Mais comment cela fonctionne ?

II – Préparation


Dans un premier temps il faut installer OpenOffice. RDV à l'adresse suivante: http://download.openoffice.org/index.html

Une foi installé, télécharger ces fichiers et placez les dans « répertoire d'instalation d'openoffice »/program

Voilà vous êtes prêt!

III – Démarrage


Nous allons commencer par réaliser un petit programme simple qui écrira « Hello World !!! » dans un document vierge et enregistrant ce fichier en PDF. Créez un fichier helloworld.py à la racine de votre disque dur ( On supposera que la lettre de votre disque dur est C: )

contenu du fichier helloworld.py

  1. import des librairies

import uno from oootools import OooTools import os, sys, tempfile, time import unohelper

  1. ouverture d'une connexion avec OOo

ooo = OOoTools('localhost', 2002)

  1. Création d'un contexte

ctx = ooo.ctx

  1. Création d'un Desktop. Une zone de travail

desktop = ooo.desktop

  1. Ouverture d'un document OOoWriter vierge

doc = desktop.loadComponentFromURL("private:factory/swriter",'_blank',0,())

  1. Création du curseur

cursor = doc.Text.createTextCursor()‏

  1. Définition du style du curseur (ici "Titre 1")

cursor.ParaStyleName = "Titre 1"

  1. Insertion du Texte "Hello World !!!"

doc.Text.insertString(cursor, "Hello World !!!", False)‏ args = (ooo.makePropertyValue('FilterName','writer_pdf_Export'),) cURL = "file:///C:/Hello_World.pdf" doc.storeToURL( cURL, args ) doc.close( True )

Il ne reste plus qu'à tester:

Crééz un fichier helloWorld.bat (où vous voulez) et placez-y ce code:

rem Ici, « C:\Program Files\OpenOffice.org 2.3\program » est le chemin d'accès au repertoire « program » d'OpenOffice cd "C:\Program Files\OpenOffice.org 2.3\program" rem Une foi placé dans ce repertoire, on execute le script python avec l'interpréteur python d'OpenOffice. python "c:\helloworld.py"

Lancez OpenOffice en mode « listen », pour ceci, faites « demarrer/executer » et tapez : soffice -accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"

Fichiers sources ICI

Personal tools