[Résolu][Python] Conversion au format MS-Word

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

[Résolu][Python] Conversion au format MS-Word

Message par Loko »

Bonjour

J'appelle par programmation un serveur soffice (sous Linux) pour transformer à la volée un .odt en .doc ou en .pdf.

Avec le .pdf aucun probleme

Avec le .doc c'est presque parfait, sauf que j'obtiens un caractère spécial bizarre au niveau du champ "n° de page" dans le pied de page, que je n'arrive pas à enlever.

Comment éviter ce problème ?

Indice : lorsque j'essaie la même chose avec la version front-end de OpenOffice, lorsque j'ouvre mon .odt et que je fais 'enregistrer sous' le meme probleme se produit si je choisis Word 6.0 ou Word 95 mais ne se produit pas si je chosis "Word 97/2000/XP". Mais je n'a pas trouvé ce genre d'option pour une conversion en ligne de commande sous Linux


Merci d'avance
Loko
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Bidouille le 10 mars 2011 14:44, modifié 3 fois.
Raison : Titre modifié pour plus de clarté
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Writer] [Python] PB soffice lors de la conversion en Wo

Message par Dude »

Salut,

Tu fais du Python ou du Basic ? Dans un cas comme dans l'autre, il y a une balise en trop dans ton titre.
Loko a écrit : lorsque j'essaie la même chose avec la version front-end de OpenOffice, lorsque j'ouvre mon .odt et que je fais 'enregistrer sous' le meme probleme se produit si je choisis Word 6.0 ou Word 95 mais ne se produit pas si je chosis "Word 97/2000/XP".
Donc, de toute façon, la programmation ne résoudra pas ce problème de conversion.
OpenOffice 2.4 sous Windows XP
Cette version est obsolète. Regarde si une mise à jour ne résoud pas cela.
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Writer] PB soffice lors de la conversion en Wo

Message par Loko »

Salut Dude
Dude a écrit :Tu fais du Python ou du Basic ? Dans un cas comme dans l'autre, il y a une balise en trop dans ton titre.
J'ai bien lu le texte d'explication avant de poster, mais ce n'est pas très clair pour moi. J'utilise python pour appeler le serveur OpenOffice via l'API UNO pour convertir un odt en doc
Donc, de toute façon, la programmation ne résoudra pas ce problème de conversion.
non, mais je me demandais si un paramètrage quelconque pouvait exister, que je n'aurais pas trouvé.
OpenOffice 2.4 sous Windows XP
Cette version est obsolète. Regarde si une mise à jour ne résoud pas cela.
C'est une ancienne signature, maintenant je suis en version plus récente sous Linux. Je vais essayer d'installer la derniere sur une machine virtuelle mais j'ai lu plein de bugs au niveau UNO dans les forums, alors j'ai un peu peur :(
Dernière modification par Don Corleone le 09 mars 2011 18:04, modifié 1 fois.
Raison : Attachement signature
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Writer] [Python] PB soffice lors de la conversion en Wo

Message par Dude »

Loko a écrit :J'utilise python pour appeler le serveur OpenOffice via l'API UNO pour convertir un odt en doc
Donc si Python n'intervient pas dans ton code, enlève sa balise. Mettre un titre explicite facilite aussi les recherches pour les prochains. "PB soffice" n'apporte rien. "Conversion au format Word 95" me semble plus clair.
Loko a écrit :non, mais je me demandais si un paramètrage quelconque pouvait exister, que je n'aurais pas trouvé.
Comme tu ne fournis aucun code (ni Basic, ni Python), comment pourrait-on te répondre ?
Loko a écrit :j'ai lu plein de bugs au niveau UNO dans les forums
Tu as lu ça où ? Cite des liens de ces fameux "plein de bogues". :o
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Writer] [Python] PB soffice lors de la conversion en Wo

Message par Loko »

Dude a écrit :
Loko a écrit :J'utilise python pour appeler le serveur OpenOffice via l'API UNO pour convertir un odt en doc
Donc si Python n'intervient pas dans ton code, enlève sa balise. Mettre un titre explicite facilite aussi les recherches pour les prochains. "PB soffice" n'apporte rien. "Conversion au format Word 95" me semble plus clair.
euh .... ca devient un peu lourd, là. J'ai lu la page règles de cette section" et c'est elle qui n'est pas très claire, si je ne m'abuse. Python intervient, donc je mets une balise Python. Et il s'agit de Writer, donc je mets une balise Writer. Ca me semble logique.
Et le sujet n'est pas "probleme soffice" comme tu le prétends, mais "PB soffice lors de la conversion en Word" :roll:
Loko a écrit :non, mais je me demandais si un paramètrage quelconque pouvait exister, que je n'aurais pas trouvé.
Comme tu ne fournis aucun code (ni Basic, ni Python), comment pourrait-on te répondre ?
je parle d'un paramètrage serveur. Depuis le début je parle d'une utilisation d'OO en mode serveur.
Loko a écrit :j'ai lu plein de bugs au niveau UNO dans les forums
Tu as lu ça où ? Cite des liens de ces fameux "plein de bogues". :o
pas plus loin que sur les forums de openoffice.org. Bcp ont eu des soucis en passant d'une version 2.x à une version 3.
J'ai vraiment l'impression que tu cherches la petite bete, et ca ne me fait pas vraiment avancer dans la résolution de mon problème. Je sais pas si tu m'as pris en grippe ou quoi, mais ...

enfin bon, j'installe la derniere version, en esperant que ca ne dégrade pas mon appli, et on verra.
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Writer] [Python] PB soffice lors de la conversion en Wo

Message par Churay »

Bonjour
Loko a écrit :pas plus loin que sur les forums de openoffice.org.
On ne peut pas dire que ces soit un ou des lien(s)
J'ai vraiment l'impression que tu cherches la petite bete,
Pour mémoire, ce forum est soutenu par des volontaires qui interviennent bénévolement. Cela leur permet d'aller directement à l'essentiel plutôt que de perdre du temps à chercher.
La moindre des courtoisies serait de les aider dans leur tache en précisant les liens plutôt qu'un laconique j'ai lu et en étant le plus précis possible dès lors que la question sort de l'ordinaire à défaut de joindre un document complet. Tu devrais comprendre que devoir tout rebâtir pour tester, avec le risque de ne pas coller à la situation, n'est à proprement parler ni un gain temps, ni efficace d'une manière plus générale.
et ca ne me fait pas vraiment avancer dans la résolution de mon problème.
Bin non, pas de chance : aujourd'hui la boule de cristal reste muette et le pendule n'est pas adapté à la situation.
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Writer] PB soffice lors de la conversion en Wo

Message par Loko »

Bonjour
Churay a écrit :On ne peut pas dire que ces soit un ou des lien(s)
Je n'ai pas le temps de re-chercher ce que j'avais lu. Je ne vois pas pourquoi je l'aurais inventé, ca m'avance à quoi ? Et en plus c'est hors-sujet, donc ...
Pour mémoire, ce forum est soutenu par des volontaires qui interviennent bénévolement. Cela leur permet d'aller directement à l'essentiel plutôt que de perdre du temps à chercher.
La moindre des courtoisies serait de les aider dans leur tache en précisant les liens plutôt qu'un laconique j'ai lu et en étant le plus précis possible dès lors que la question sort de l'ordinaire à défaut de joindre un document complet. Tu devrais comprendre que devoir tout rebâtir pour tester, avec le risque de ne pas coller à la situation, n'est à proprement parler ni un gain temps, ni efficace d'une manière plus générale.


Encore une fois j n'ai pas donné de liens car ce n'est pas le sujet de mon problème ! Et j'ai "aidé" comme tu dis en expliquant le probleme avec de vraies phrases dans plusieurs messages.

Mais là j'en suis encore à parler de netiquette, ca occupe 95% de ce fil, c'est hallucinant d'etre pointilleux à ce point-là, j'avais encore jamais vu cela sur d'autres forums, mais passons.

Et, éventuellement, une aide pour résoudre mon problème, ou bien quelqu'un qui aurait rencontré le meme que moi, c'est possible ?
et ca ne me fait pas vraiment avancer dans la résolution de mon problème.
Bin non, pas de chance : aujourd'hui la boule de cristal reste muette et le pendule n'est pas adapté à la situation.
Faut arreter d'exagerer comme ca. Ce n'est pas parceque je parle ici d'une utilisation peu commune d'OO , qu'apparemment vous ne connaissez pas (je dis bien apparemment) qu'il faut parler de boule de cristal. J'ai expliqué le probleme et dans quelles conditions il se produit. J'ai fourni un exemple en piece jointe.
Si tu veux plus d'infos dis moi lesquelles il te faut. Si tu sais pas, c'est pas grave mais ca sert à rien de perdre ton temps et le mien dans ce genre de simagrées.

Donc je réexplique encore une fois : est il possible de configurer soffice en mode serveur pour qu'il génère du word dans sa derniere version et non pas du w95 ? J'ai toujours pas de réponse.

Et je n'ai trouvé absolument aucune documentation sur le mode serveur de OO sur internet,par exemple pour le lancer sous linux, les parametres possibles, je n'ai trouvé que des posts de gens qui expliquaient comment eux le lancaient en se demandant à quoi pouvait servir tel ou tel parametre, mais personne n'a jamais trouvé de doc officielle de la part d'OpenOffice là dessus, ce qui m'étonne un peu.
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: [Writer] PB soffice linux lors de la conversion en Word

Message par Pierre-Yves Samyn »

Bonjour et bienvenue sur ce forum
Loko a écrit :Indice : lorsque j'essaie la même chose avec la version front-end de OpenOffice, lorsque j'ouvre mon .odt et que je fais 'enregistrer sous' le meme probleme se produit si je choisis Word 6.0 ou Word 95 mais ne se produit pas si je chosis "Word 97/2000/XP". Mais je n'a pas trouvé ce genre d'option pour une conversion en ligne de commande sous Linux
En OOoBasic on précise le format à utiliser pour l'export. En l'occurrence :

Code : Tout sélectionner

option explicit

sub ExportW97

dim PysDocument as object

dim propFich(0) As New com.sun.star.beans.PropertyValue

dim PysAdresseDoc  as string

propFich(0).Name = "FilterName"
propFich(0).Value = "MS WORD 97"

PysAdresseDoc = convertToURL("c:\test.doc")

thiscomponent.storeToURL(PysAdresseDoc, propFich())

end sub
Procéder de même dans ton programme...
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Writer][Python] PB soffice lors de la conversion en Wor

Message par Loko »

Bonjour Pierre-Yves

Cet indice m'a bien aidé, j'ai pu trouver la même chose sous Python, j'en donne le code pour ceux que cela pourrait aider :

Pour ceux qui veulent mettre les mains dans le camboui :

Code : Tout sélectionner

import uno
[...]
oCoreReflection = createUnoService( "com.sun.star.reflection.CoreReflection" )
oXIdlClass = oCoreReflection.forName( "com.sun.star.beans.PropertyValue" )
oReturnValue, oStruct = oXIdlClass.createObject( None )
oStruct.Name = "FilterName"
oStruct.Value = "MS WORD 97"
[...]
et une version plus simple :

Code : Tout sélectionner

properties = []
from com.sun.star.beans import PropertyValue
prop = PropertyValue()
prop.Name = 'FilterName'
prop.Value = 'MS WORD 97'
properties.append(prop)
self.doc.storeToURL('/tmp/document.doc', tuple(properties))
Merci beaucoup pour ton aide.




(Puisque la solution se trouve coté client et non pas coté serveur, je remets donc la balise [Python] que l'on m'avait demandé d'enlever).
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Writer][Python] PB soffice lors de la conversion en Wor

Message par Dude »

Loko a écrit :Cet indice m'a bien aidé
Je ne comprends pas par rapport à ta problèmatique de départ :
Loko a écrit :le meme probleme se produit si je choisis Word 6.0 ou Word 95 mais ne se produit pas si je chosis "Word 97/2000/XP"
Le code fourni enregistre au format

Code : Tout sélectionner

oStruct.Value = "MS WORD 97"
Enfin bon, si c'est résolu pour toi, tant mieux.
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Résolu][Python] Conversion au format MS-Word

Message par Loko »

Bonjour Dude,

Je t'explique : quand je disais dans mon premier message que ca marchait avec le format Word97, c'était comme indiqué avec la version Front-Office, cad en lancant Open Office en mode "normale" et en faisant "enregistrer sous" dans le menu. Ma question était d'arriver à faire la meme chose mais en batch lors d'un appel au serveur OO.
Je pensais qu'il fallait intervenir au niveau du serveur (pour cela que je ne trouvais pas) mais finalement cela peut etre fait dans le programme client (en Basic comme en Python, donc ...).

Voila.
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu
Loko
Fraîchement OOthentifié
Messages : 8
Inscription : 14 août 2008 15:19

Re: [Résolu][Python] Conversion au format MS-Word

Message par Loko »

Petite précision suite à retours de tests : l'utilisation du "FilterName" corrige le souci rencontré dans les champs automatiques, mais uniquement en version 3.x. Le problème persiste en version 2.x meme en utilisant ce paramètre.

A+
Le modérateur a écrit : :alerte: Merci de ne pas poster plusieurs messages à la suite !
Si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.

En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
OO3 sur Linux 2.6.32-24-generic-pae #39-Ubuntu