Module 功能開發 --- Uno Command

擴充 Module 功能

模組功能開發的主要功能實作可以自由選擇以下但不限

  1. LibreOffice/OxOffice Extension
  2. uno command
  3. python script

此章節我們要以 Uno Command 來介紹如何快速透過擴充插件來擴充模組的功能

Uno 是什麼?

這邊可以看看維基百科

Uno Command 是什麼?

簡言之,UnoCommand 是 LibreOffice 內部實作的功能,並且都有其對應的函數與參數。

詳細的 UnoCommand 可以參考官方文件看看有那些 UnoCommand 可以使用。

如何透過 C++ 來執行 UnoCommand 來擴充模組功能

 

LibreOfficeKit 提供開發者透過 postUnoCommand 直接使用 UNO Service,如下方所示的範例程式碼就是

 

//Using UnoCommand also can do the insertText
std::string json = R"MULTILINE(
        {
            "Text":
            {
                "type":"string",
                "value":"%s"
            }
        }
    )MULTILINE";
std::string args_str = Poco::format(json, msg);

lodoc->postUnoCommand(".uno:InsertText", args_str.c_str(), true);