[Openstandaarden] Vraag: bestaan er eenvoudige programma's ombijvoorbeeld .doc om te zetten naar .odt

Matthias Vandermaesen Matthias.Vandermaesen at stad.Antwerpen.be
Mon Oct 24 16:57:17 CEST 2005


Beste,

Een collega van mij had nog een snel in elkaar geflanste doc2odt convertor staan in VB.
Hij was zo vriendelijk om zijn code ter beschikking te stellen van de lijst. Hetgeen
je doet is waar er INPUTFILE staat het pad van de DOC file opgeven en waar er OUTPUTFILE
staat het pad van de ODT file zetten. Hardcoded dus. Gewoon compileren en runnen. De
rest wijst zichzelf uit.

Wie wat handig is met VB kan de hardcoded padaanduidingen vervangen door bv. een referentie
naar een variabele (index van een array bv.) Uiteraard zet je die dan in een loop (zie commented
aanduidingen). Zo kan je ineens een hele batch doc files omzetten naar ODT.

Je moet wel OOo geïnstalleerd hebben staan aangezien hij zich baseert op de functionaliteit van OOo.

Ter inspiratie: aangezien het een VB script is zou je in Word een knop kunnen maken "doc2odt". Je kan dan
perfect je documenten in Word opmaken, opslaan en met een druk op de knop converteren naar een ODT document.

Soit, hieronder de code...


------------------------------------------
Private Sub MigrateDOC2ODT()
 
Dim oo, oDesk, oDoc, oText, oCursor As Object
Dim openParams(0)
Dim saveParams(2)
    
    Set oo = CreateObject("com.sun.star.ServiceManager")
    Set oDesk = oo.createInstance("com.sun.star.frame.Desktop")
    Set openParams(0) = OOoPropertyValue("Hidden", True)
    Set saveParams(0) = OOoPropertyValue("Filtername", "OpenDocument Text (.odt)")
    Set saveParams(1) = OOoPropertyValue("FilterOptions", "9,,0,1,10")
    Set saveParams(2) = OOoPropertyValue("Overwrite", True)
    
    'start hier de loop
        Set oDoc = oDesk.loadComponentFromURL("INPUTFILE", "_blank", 0, openParams)
        Set oText = oDoc.GetText()
        Set oCursor = oText.createTextCursor()
        oCursor.gotoEnd (False)
        Call oDoc.storeToURL("OUTPUTFILE", saveParams)
        oDoc.Close (True)
    'beëindig de loop
    
    Set oCursor = Nothing
    Set oText = Nothing
    Set oDoc = Nothing
    Set oDesk = Nothing
    Set oo = Nothing
End Sub
 
Function OOoPropertyValue(cName, uValue)
    Dim oPropertyValue As Object
    Dim oo2 As Object
    
    Set oo2 = CreateObject("com.sun.star.ServiceManager")
    Set oPropertyValue = oo2.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    oPropertyValue.Name = cName
    oPropertyValue.value = uValue
    Set OOoPropertyValue = oPropertyValue
End Function
------------------------------------------

Mvg,

Matthias Vandermaesen

Matthias Vandermaesen | wetenschappelijk consulent
Stad Antwerpen | Stadsarchief
Venusstraat 11 | 2000 Antwerpen
tel + 32 03 206 94 19 | fax +32 03 206 94 10 
matthias.vandermaesen at stad.antwerpen.be <mailto:matthias.vandermaesen at stad.antwerpen.be> 
cDAVID-website: http://www.cdavid.be |  http://www.digitaalarchiveren.be
eFloris-website: http://stadsarchief.antwerpen.be <http://stadsarchief.antwerpen.be/>  

't Stad is van iedereen.


***Disclaimer***

Dit e-mailbestand, met inbegrip van zijn eventuele bijlagen, is een officieel document van de Stad Antwerpen. Het kan vertrouwelijke of persoonlijke informatie bevatten. Als u deze boodschap per vergissing hebt ontvangen, verzoeken wij u om de afzender daarvan onmiddellijk per e-mail of telefoon op de hoogte te stellen en ze vervolgens van uw computer te verwijderen zonder de inhoud ervan eerst te lezen, te vermenigvuldigen, te verspreiden of op andere wijze openbaar te maken aan derden. De Stad Antwerpen kan op geen enkele manier aansprakelijk worden gesteld voor mogelijke fouten of onnauwkeurigheden in dit bericht, noch voor verlies, ongemak of directe dan wel indirecte schade geleden ten gevolge van het gebruik van in deze e-mail voorkomende incorrecte informatie







-----Oorspronkelijk bericht-----
Van: openstandaarden-bounces at openstandaarden.be
[mailto:openstandaarden-bounces at openstandaarden.be]
Verzonden: donderdag 20 oktober 2005 20:15
Aan: openstandaarden at openstandaarden.be
Onderwerp: [Openstandaarden] Vraag: bestaan er eenvoudige programma's
ombijvoorbeeld .doc om te zetten naar .odt


Beste lijst,

Ik vroeg mij af of er programmaatjes voor de commandoregel bestaan waarmee je 
bijvoorbeeld .doc-bestanden kan omzetten naar .odt-bestanden enzo 
(doc2odt,rtf2odt,...).

Ik denk dat zo'n dingen wel heel handig kunnen zijn. OpenStandaarden.be (of 
een andere site) zou bijvoorbeeld een web interface kunnen aanbieden waar je 
een .doc-bestand naar kan uploaden en waarna je een .odt-bestand terugkrijgt 
(met limieten natuurlijk!).

-- 
Mvg, Sander Devrieze.
xmpp:sander at devrieze.dyndns.org

ejabberd, the expandable Jabber daemon. --
http://ejabberd.jabber.ru/
_______________________________________________
Openstandaarden mailing list
Openstandaarden at openstandaarden.be
http://www.openstandaarden.be/mailman/listinfo/openstandaarden



More information about the Openstandaarden mailing list