libreofficeAPI开发(三):创建保存⼀个swriter⽂档    UNO是通⽤⽹络对象的简称,是libreoffice的基本组件技术。通过UNO我们可以在不同的平台上利⽤UNO进⾏编程。
要利⽤UNO进⾏编程,需要按照如下的步骤进⾏:
1.建⽴本地组件上下⽂。
2.获取本地servicemanager。
3.通过本地servicemanager获得特定类型的抽象接⼝。
4.通过抽象接⼝查询到具体的接⼝。
好了,介绍到此为⽌。
因为只是初步学习,所以先把代码的架⼦搭起来,以后需要深⼊研究的话,再来深⼊讨论其理论。
下⾯是⼀个创建swriter⽂档的代码,只要头⽂件什么的没有少包含,完全可以使⽤。
Reference < XComponent > newDocument()
{
try
{
Reference<XComponentContext>      xContext;
Reference<XMultiComponentFactory> xMSFactory;
Reference<XComponent>            xDocument;
xContext = bootstrap();
xMSFactory = xContext->getServiceManager();
Reference<XInterface> desktop = xMSFactory->createInstanceWithContext(
OUString::createFromAscii("com.sun.star.frame.Desktop"),
xContext );
Reference<XComponentLoader> rComponentLoader( desktop, UNO_QUERY_THROW );
Sequence<PropertyValue> loadProps(1);
loadProps[0].Name = OUString::createFromAscii("Hidden");
loadProps[0].Value = Any(false);//new Boolean(true);
xDocument = rComponentLoader->loadComponentFromURL(
OUString::createFromAscii("private:factory/swriter"),
OUString::createFromAscii("_blank"),
0,
loadProps);
return xDocument;
}
catch (Exception & e)
ascii文件夹怎么创建
{
std::cout<<e.Message<<std::endl;
return NULL;
}
}
接下来是保存swriter⽂件的代码:
时间有点久了,关于这块的代码⼿⾥没有了,有时间再补⼀份。