OpenOffice SDK - 当前打开的文档类型

时间:2014-06-13 22:09:32

标签: c++

您好我正在寻找解决方案如何获取当前打开文档的 TYPE

示例代码:

  Reference< XInterface  > Desktop = xServiceManager->createInstanceWithContext(
  OUString::createFromAscii("com.sun.star.frame.Desktop"), xContext);

  Reference< XDesktop > xDesktop(Desktop, UNO_QUERY);

  Reference< XComponent > xComponent = xDesktop->getCurrentComponent();

1 个答案:

答案 0 :(得分:0)

获取当前打开文档类型的解决方案是:

#include <com/sun/star/lang/XServiceInfo.hpp>
using namespace com::sun::star::lang;

/* ... */

Reference< XServiceInfo > xServiceInfo(xcomponent, UNO_QUERY);
OString documentType = OUStringToOString(xServiceInfo->getImplementationName(), RTL_TEXTENCODING_ASCII_US);

cout << documentType.pData->buffer;