2010-01-07 4 views
3

Je voudrais enregistrer un TextDocument créé via OpenOffice.org UNO dans un fichier sur le disque. Quelle est la meilleure façon de procéder?Comment enregistrer un document par programme dans OpenOffice.org?

Éditer: Ceci est le code C# que j'ai fini par utiliser. document est un XTextDocument.

protected void Save (string path) 
{ 
    string url = "file://" + path; 
    PropertyValue [] propertyValues = { 
     new PropertyValue { 
      Name = "FilterName", 
      Value = new Any ("writer8") 
     } 
    }; 
    ((XStorable) document).storeAsURL (url, propertyValues); 
} 
+0

Dans quelle langue? –

+0

Je travaille en C#, mais si vous répondez dans une langue différente, je peux le traduire en C#. –

+3

Faites attention ce que vous souhaitez - ++++ [> +++++ <-]> [<+++++> -] + <+[> [> +> + <<-]++>> [<<+>> -] >>> [-] ++> [-] + >>> + [[-] ++++++> >>] <<< [[<++++++++<++>> -] + <.<[> ---- <-]<]<<[> >>>> [>>> [-] +++ ++++++ <[> - <-] +++++++++ > [- [<-> -] + [<<<]]<[> + <-]>] << -] << -] –

Répondre

2

Utilisez XStorable.storeToURL() (ou storeAsURL).

Éditer: Vous devez passer un FilterName avec le format de sortie. Exemple (en Python parce que c'est plus simple):

properties = (PropertyValue('FilterName', 0, 'writer8', 0),) 
document.storeToURL('file:///path/to/document.odt', properties) 
+0

'storeToURL()' et 'storeAsURL()' nécessitent 2 paramètres, même si la documentation indique que la seconde est facultative. J'ai essayé de passer 'null' comme deuxième, mais j'ai une exception IOException. Je regarde la documentation maintenant, mais savez-vous comment résoudre ce problème? Si je peux comprendre comment définir l'URL par défaut du document, je peux simplement utiliser la méthode 'store()' et éviter tout le problème. –

+0

Merci, cela fonctionne parfaitement. J'ai ajouté la version C# de ce code à ma question. –

Questions connexes