Re: [HS ?] Conversion des pièces jointes MS-W >ODF
Bonsoir
Je transforme assez souvent des documents calc vers excel ou pdf par le
script ci joint qui fait appel a des macros ci joint aussi.
Par contre, si tu trouve le moyen d'extraire les attachements puis les
convertir en ODF et ensuite les encapsuler à nouveau dans le message je
suis preneur.
Bonne chance
Guy
Le script :
=======
OOPATH=/usr/bin
OOCALC=oocalc
OO=$OOPATH/$OOCALC
sxcFile=$1
# Pour lancer ce script il faut lui donner le chemin complet du fichier
a traiter
# Exemple : ./ooosxc2xls.sh /home/guy/Gentab/test/gentab.sxc
$OO -invisible "macro:///GuyMacros.Conv.SxcToXls($sxcFile)"
$OO -invisible "macro:///GuyMacros.Conv.SxcToPdf($sxcFile)
les macros :
========
Sub Main()
sxcFile = "/home/guy/Gentab/test/gentab.sxc"
SxcToXls(sxcFile)
SxcToPdf(sxcFile)
End Sub
Sub SxcToXls(srcFile as string)
Dim oDoc as Object
srcUrl = ConvertToUrl(srcFile)
oDoc = StarDesktop.loadComponentFromURL(srcUrl, "_blank", 0,
array(MakePropertyValue("Hidden",true)))
sz = Len(srcFile) - 4
dstXls = Left(srcFile, sz) + ".xls"
dstUrl = ConvertToURL(dstXls)
oDoc.storeToURL(dstUrl, Array(MakePropertyValue("FilterName", "MS
Excel 97"))
oDoc.close(True)
End Sub
Sub SxcToPdf(srcFile as string)
Dim oDoc as Object
srcUrl = ConvertToUrl(srcFile)
oDoc = StarDesktop.loadComponentFromURL(srcUrl, "_blank", 0,
array(MakePropertyValue("Hidden",true)))
sz = Len(srcFile) - 4
dstPdf = Left(srcFile, sz) + ".pdf"
dstUrl = ConvertToURL(dstPdf)
oDoc.storeToURL(dstUrl, Array(MakePropertyValue("FilterName",
"calc_pdf_Export"))
oDoc.close(True)
End Sub
Function MakePropertyValue( Optional cName As String, Optional uValue )
As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct( "com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
Benjamin Lannoy a écrit :
> Bonjour,
>
> J'ai monté un petit serveur courriel qui me sert essentiellement à
> héberger quelques listes de diffusion. Celui-ci fonctionne actuellement
> avec Exim4 et Mailman, mais je compte passer à Postfix dès que j'en
> aurais le temps.
>
> Bref... Il s'échange sur certaines de ces listes beaucoup d'articles
> qui ont été tapés sur traitement de texte... Articles qui se retrouvent
> donc tous ou presque au format Microsoft Word.
> J'ai bien tenté plusieurs fois de faire passer le message comme quoi
> les standards ouverts c'était bien mieux pour tout le monde, et que ça
> me forçait régulièrement à refaire de la mise en page (qui m'est
> régulièrement dévolue pour certains de ces articles, en plus)...
> Hélas, aucun effet ou presque. :/
>
> Je m'imaginais donc tenter d'imposer un format ouvert, autrement qu'en
> interdisant purement et simplement les pièces jointes en .doc.
> Technique que j'avais déjà expérimentée, et j'ai reçu des messages
> « Benjamin... Ton truc, ça marche pas. », alors même que j'avais envoyé
> un courriel d'avertissement.
>
> Bref, j'aurais voulu savoir s'il était possible de convertir
> automatiquement toutes les pièces jointes transitant par Mailman (ou
> Postfix, ou Exim4) en ODF (idéalement), en HTML, en PDF, ou simplement
> texte brut (ça leur apprendra !), et si oui : comment ?
> J'ai vu le paquet « wv » qui semble faire ça, sauf pour la conversion
> vers l'ODF qui me conviendrait le mieux. Il faut que je regarde de ce
> côté ? Il y en a d'autre plus performant ?
> Y aurait-il des tutoriaux qui traîneraient de-ci de-là ? Je n'en ai pas
> trouvé.
>
>
> Merci d'avance,
> Benjamin
>
Reply to: