J'aimerai pouvoir mettre à jour certaines zones dans un document ODT
(open document http://fr.wikipedia.org/wiki/OpenDocument)
C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
- utiliser elementtree pour parcourir et faire la recherche
- utiliser pyuno ou quelque chose comme ça
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
William Dode wrote:
slt,
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT (open document http://fr.wikipedia.org/wiki/OpenDocument) C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la génération de fragments XML avec elementtree, genre print builder.montag("content", attr='attr') => "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX serait probablement plus efficace... A toi de voir selon ton besoin exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je ne vois pas quoi ajouter.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
William Dode wrote:
slt,
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT
(open document http://fr.wikipedia.org/wiki/OpenDocument)
C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la
génération de fragments XML avec elementtree, genre
print builder.montag("content", attr='attr')
=> "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX
serait probablement plus efficace... A toi de voir selon ton besoin
exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je
ne vois pas quoi ajouter.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT (open document http://fr.wikipedia.org/wiki/OpenDocument) C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la génération de fragments XML avec elementtree, genre print builder.montag("content", attr='attr') => "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX serait probablement plus efficace... A toi de voir selon ton besoin exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je ne vois pas quoi ajouter.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
olive
ElementTree est très bien, plus facile à mettre en oeuvre et AUSSI rapide qu'un moteur SAX si bien utilisé.
Mais il y a encore mieux : LXML qui est basé sur la même API mais qui gère mieux les espaces de nom par exemple, ce qui est essentiel lorsque l'on manipule des fichiers OpenDocument.
Olive.
ElementTree est très bien, plus facile à mettre en oeuvre
et AUSSI rapide qu'un moteur SAX si bien utilisé.
Mais il y a encore mieux : LXML qui est basé sur la même API
mais qui gère mieux les espaces de nom par exemple,
ce qui est essentiel lorsque l'on manipule des fichiers OpenDocument.
ElementTree est très bien, plus facile à mettre en oeuvre et AUSSI rapide qu'un moteur SAX si bien utilisé.
Mais il y a encore mieux : LXML qui est basé sur la même API mais qui gère mieux les espaces de nom par exemple, ce qui est essentiel lorsque l'on manipule des fichiers OpenDocument.
Olive.
MC
Bonsoir !
Perso, je passe par COM/ole-automation.
Mais le besoin est un peu différent. Typiquement, le logiciel ouvre un document-type, effectue une série de "chercher/remplacer" ou de "chercher/insérer du texte", puis enregistre sous un autre nom/répertoire, imprime (éventuellement), et ferme le document.
Mais cela impose d'avoir Open-Office.org et windows.
Et, comme OOo est très long à ouvrir, je l'ouvre en début de session (de travail), et ne le ferme qu'en fin de session.
Si ça correspond à ton besoin et à tes ressources, je pourrais filer du code.
-- @-salutations
Michel Claveau
Bonsoir !
Perso, je passe par COM/ole-automation.
Mais le besoin est un peu différent. Typiquement, le logiciel ouvre un
document-type, effectue une série de "chercher/remplacer" ou de
"chercher/insérer du texte", puis enregistre sous un autre
nom/répertoire, imprime (éventuellement), et ferme le document.
Mais cela impose d'avoir Open-Office.org et windows.
Et, comme OOo est très long à ouvrir, je l'ouvre en début de session
(de travail), et ne le ferme qu'en fin de session.
Si ça correspond à ton besoin et à tes ressources, je pourrais filer du
code.
Mais le besoin est un peu différent. Typiquement, le logiciel ouvre un document-type, effectue une série de "chercher/remplacer" ou de "chercher/insérer du texte", puis enregistre sous un autre nom/répertoire, imprime (éventuellement), et ferme le document.
Mais cela impose d'avoir Open-Office.org et windows.
Et, comme OOo est très long à ouvrir, je l'ouvre en début de session (de travail), et ne le ferme qu'en fin de session.
Si ça correspond à ton besoin et à tes ressources, je pourrais filer du code.
-- @-salutations
Michel Claveau
olive
Michel,
je suis également interressé par le pilotage de OO via COM.
Pourrais-tu STP donner qque exemples (lancement de OO, ouverture d'un doc, enregistrement au format HTML/UTF-8, fermerture du doc ...).
Je sais faire tout ça pour Word mais par pour OO.
Olive.
Michel,
je suis également interressé par le pilotage de OO via COM.
Pourrais-tu STP donner qque exemples (lancement de OO, ouverture d'un
doc, enregistrement au format HTML/UTF-8, fermerture du doc ...).
je suis également interressé par le pilotage de OO via COM.
Pourrais-tu STP donner qque exemples (lancement de OO, ouverture d'un doc, enregistrement au format HTML/UTF-8, fermerture du doc ...).
Je sais faire tout ça pour Word mais par pour OO.
Olive.
William Dode
On 10-10-2006, MC wrote:
Bonsoir !
Perso, je passe par COM/ole-automation.
J'ai vu un exemple que tu as posté y a quelques temps déjà. Mais à priori, l'attaque directe des fichiers xml semble suffire à ce que je veux faire, ça sera plus rapide et moins contraignant. J'ai fait un essai vite fait avec la librairie zip et un recherche/remplace purement texte et ça marche tout bêtement.
J'ai ausi trouvé http://ooopy.sourceforge.net/ qui semble assez bien foutu et doit permettre de faire des choses un peu plus complexes sur le même principe d'attaquer directement les fichiers xml. Pas essayé mais il doit y avoir de l'avenir si le format odt se répand.
-- William Dodé - http://flibuste.net
On 10-10-2006, MC wrote:
Bonsoir !
Perso, je passe par COM/ole-automation.
J'ai vu un exemple que tu as posté y a quelques temps déjà. Mais
à priori, l'attaque directe des fichiers xml semble suffire à ce que je
veux faire, ça sera plus rapide et moins contraignant. J'ai fait un
essai vite fait avec la librairie zip et un recherche/remplace purement
texte et ça marche tout bêtement.
J'ai ausi trouvé http://ooopy.sourceforge.net/ qui semble assez bien
foutu et doit permettre de faire des choses un peu plus complexes sur le
même principe d'attaquer directement les fichiers xml. Pas essayé mais
il doit y avoir de l'avenir si le format odt se répand.
J'ai vu un exemple que tu as posté y a quelques temps déjà. Mais à priori, l'attaque directe des fichiers xml semble suffire à ce que je veux faire, ça sera plus rapide et moins contraignant. J'ai fait un essai vite fait avec la librairie zip et un recherche/remplace purement texte et ça marche tout bêtement.
J'ai ausi trouvé http://ooopy.sourceforge.net/ qui semble assez bien foutu et doit permettre de faire des choses un peu plus complexes sur le même principe d'attaquer directement les fichiers xml. Pas essayé mais il doit y avoir de l'avenir si le format odt se répand.
-- William Dodé - http://flibuste.net
William Dode
On 10-10-2006, Bruno Desthuilliers wrote:
William Dode wrote:
slt,
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT (open document http://fr.wikipedia.org/wiki/OpenDocument) C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la génération de fragments XML avec elementtree, genre print builder.montag("content", attr='attr') => "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX serait probablement plus efficace... A toi de voir selon ton besoin exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je ne vois pas quoi ajouter.
Très peu à priori, l'utilisateur va sélectionner un document près enregistré et je dois mettre à jour certaines zones et créer un nouveau document avec.
-- William Dodé - http://flibuste.net
On 10-10-2006, Bruno Desthuilliers wrote:
William Dode wrote:
slt,
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT
(open document http://fr.wikipedia.org/wiki/OpenDocument)
C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la
génération de fragments XML avec elementtree, genre
print builder.montag("content", attr='attr')
=> "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX
serait probablement plus efficace... A toi de voir selon ton besoin
exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je
ne vois pas quoi ajouter.
Très peu à priori, l'utilisateur va sélectionner un document près
enregistré et je dois mettre à jour certaines zones et créer un nouveau
document avec.
J'aimerai pouvoir mettre à jour certaines zones dans un document ODT (open document http://fr.wikipedia.org/wiki/OpenDocument) C'est du XML, donc j'hésite entre 3 solutions
- faire un recherche/remplace textuel de $mavariable par 'mon texte'
Probablement le plus simple et le plus rapide, mais aussi le plus fragile...
- utiliser elementtree pour parcourir et faire la recherche
elementtree est facile à utiliser, donc pourquoi pas...
NB : Si ça t'intéresse, j'ai bricolé une petite API pour simplifier la génération de fragments XML avec elementtree, genre print builder.montag("content", attr='attr') => "<montag attr='attr'>content</montag>"
D'un autre côté, point de vue ressources et perfs, un parseur SAX serait probablement plus efficace... A toi de voir selon ton besoin exact, les contraintes, la taille potentielle des documents etc
- utiliser pyuno ou quelque chose comme ça
Jamais testé.
Des tuyaux ?
Bin... Tu ne dis pas grand chose du contexte et des contraintes, donc je ne vois pas quoi ajouter.
Très peu à priori, l'utilisateur va sélectionner un document près enregistré et je dois mettre à jour certaines zones et créer un nouveau document avec.