Как программно получить шаблон по умолчанию в Openoffice Writer

Как программно получить шаблон по умолчанию для openoffice writer?

Что эквивалентно следующему коду для openoffice:

var word = new Microsoft.Office.Interop.Word.Application();
string template = word.NormalTemplate.FullName;

person CloudyMarble    schedule 02.04.2013    source источник
comment
Могу я спросить, что вы пробовали? Какую DLL вы используете для доступа к OpenOffice через C #?   -  person Sebastian    schedule 02.04.2013


Ответы (1)


Единственный способ сделать это - создать новый пустой документ, а затем прочитать его шаблон, который использовался для его создания, хотя я ожидал такого свойства на уровне приложения, надеюсь, это поможет другим:

private XComponentContext oStrap = uno.util.Bootstrap.bootstrap();    
XMultiServiceFactory oServMan = (XMultiServiceFactory) oStrap.getServiceManager();
XComponentLoader oDesk = (XComponentLoader) oServMan.createInstance("com.sun.star.frame.Desktop");
string url = @"private:factory/swriter";
PropertyValue[] propVals = new PropertyValue[0];
XComponent oDoc = oDesk.loadComponentFromURL(url, "_null", 0, propVals);
var DefaultTemplate = ((XDocumentPropertiesSupplier)oDoc).getDocumentProperties().TemplateURL;
person CloudyMarble    schedule 05.04.2013