OneNote InkStroke/FloatingInk API

OneNote InkStroke/FloatingInk API

OneNote 中有一个API 用于获取墨迹对象。根据示例/documentation,您可以 运行 获取 InkStroke 对象的代码。我的理解是 Highlighter 笔划在 OneNote 对象模型中是 FloatingInk。是否有可能获得有关中风本身的信息?类似于:

if(inkObject.getType() == "Highlighter") {
    var width = inkObject.getStroke().width;
    var height = inkObject.getStroke().height;
}

文档显示了下面的示例,但它似乎只使 "id" 属性 可用。

OneNote.run(function(context) {

    // Gets the active page.
    var page = context.application.getActivePage();
    var contents = page.contents;

    // Load page contents and their types.
    page.load('contents/type');
    return context.sync()
        .then(function(){

            // Load every ink content.
            $.each(contents.items, function(i, content) {
                if (content.type == "Ink"){
                    content.load('ink/id');
                }                           
            })
            return context.sync();
        })
        .then(function(){

            // Log ID of every ink content.
            $.each(contents.items, function(i, content) {
                if (content.type == "Ink"){
                    console.log(content.ink.id);
                }                           
            })              
        });
})
.catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
}); 

编辑:虽然不理想,但您可以获得 RestApiId,然后进行 API 调用以检索将包含此信息的 InkML 文档。

https://blogs.msdn.microsoft.com/onenotedev/2017/07/07/onenote-ink-beta-apis/


很遗憾,无法从 OneNote 插件中获取墨迹坐标信息。我鼓励您提交一个 uservoice 项目并 link 在这里。

https://onenote.uservoice.com/forums/245490-onenote-developer-apis/