OneNote InkStroke/FloatingInk API
В OneNote есть API для получения чернильных объектов. В соответствии с примерами / документацией вы можете запустить код, который получает объект InkStroke. Насколько я понимаю, штрихи Highlighter - это FloatingInk в объектной модели OneNote. Можно ли получить информацию о самом инсульте? Что-то вроде:
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 ответ
РЕДАКТИРОВАТЬ: Хотя это не идеально, вы можете получить 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/