OneNote InkStroke / FloatingInk API

时间:2017-05-05 16:33:19

标签: office-addins onenote onenote-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));
    }
}); 

1 个答案:

答案 0 :(得分:1)

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

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

不幸的是,无法从OneNote加载项获取笔划坐标信息。我鼓励您提交uservoice项目并在此处链接。

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