[{"data":1,"prerenderedAt":1388},["ShallowReactive",2],{"navigation":3,"docs-cloud-4.5-iinkts-canvas":498,"nav-cloud45":1212,"support-index":1319},[4],{"title":5,"path":6,"stem":7,"children":8,"page":40},"Docs","\u002Fdocs","docs",[9,242,320],{"title":10,"path":11,"stem":12,"children":13,"page":40},"Cloud","\u002Fdocs\u002Fcloud","docs\u002Fcloud",[14],{"title":15,"path":16,"stem":17,"children":18,"page":40},"4.5","\u002Fdocs\u002Fcloud\u002F4.5","docs\u002Fcloud\u002F4.5",[19,41,54,79,100,147,172,196,209,234],{"title":20,"path":21,"stem":22,"children":23,"page":40},"Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview","docs\u002Fcloud\u002F4.5\u002F01.overview",[24,28,32,36],{"title":25,"path":26,"stem":27},"MyScript iink SDK for web-based platform","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fintroduction","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F01.introduction",{"title":29,"path":30,"stem":31},"Choosing between REST or WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F02.http-rest-or-websocket",{"title":33,"path":34,"stem":35},"What's new","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F03.changelog",{"title":37,"path":38,"stem":39},"Migration guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F04.migration-guide",false,{"title":42,"path":43,"stem":44,"children":45,"page":40},"Integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration","docs\u002Fcloud\u002F4.5\u002F02.integration",[46,50],{"title":47,"path":48,"stem":49},"Supported platforms","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F01.platforms",{"title":51,"path":52,"stem":53},"Integration levels","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F02.integration-levels",{"title":55,"path":56,"stem":57,"children":58,"page":40},"Recognition capabilities","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities",[59,63,67,71,75],{"title":60,"path":61,"stem":62},"Recognizers","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F01.recognizers",{"title":64,"path":65,"stem":66},"Text languages and features","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F02.text-languages",{"title":68,"path":69,"stem":70},"Math elements and rules","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":73,"stem":74},"Shapes and connectors","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":77,"stem":78},"Gestures","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F05.gestures",{"title":80,"path":81,"stem":82,"children":83,"page":40},"Interactivity integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration",[84,88,92,96],{"title":85,"path":86,"stem":87},"Content types","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F01.content-types",{"title":89,"path":90,"stem":91},"Interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F02.interactive-features",{"title":93,"path":94,"stem":95},"Import and export formats","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F03.import-and-export-formats",{"title":97,"path":98,"stem":99},"Math interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F04.math-features",{"title":101,"path":102,"stem":103,"children":104,"page":40},"iinkTS","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts",[105,109,113,121,138],{"title":106,"path":107,"stem":108},"Getting started","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F01.get-started",{"title":110,"path":111,"stem":112},"Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fcanvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F02.canvas",{"title":114,"path":115,"stem":116,"children":117,"page":40},"Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas",[118],{"title":114,"path":119,"stem":120},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas\u002F01.ink-canvas",{"title":122,"path":123,"stem":124,"children":125,"page":40},"Interactive Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas",[126,130,134],{"title":127,"path":128,"stem":129},"Interactive ink canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F01.interactive-ink-canvas",{"title":131,"path":132,"stem":133},"Interactive Math","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-math","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F02.iicanvas-math",{"title":135,"path":136,"stem":137},"Using a custom rendering","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-other-rendering","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F03.iicanvas-other-rendering",{"title":139,"path":140,"stem":141,"children":142,"page":40},"Reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference",[143],{"title":144,"path":145,"stem":146},"Configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference\u002F01.configuration-iinkts",{"title":148,"path":149,"stem":150,"children":151,"page":40},"REST","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest","docs\u002Fcloud\u002F4.5\u002F06.rest",[152,156,160,164,168],{"title":153,"path":154,"stem":155},"MyScript iink SDK Web REST Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F01.architecture",{"title":157,"path":158,"stem":159},"MyScript iink SDK Web REST Recognizer API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fnew-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F02.new-api",{"title":161,"path":162,"stem":163},"Recognizer configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-recognizer-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F03.configuration-recognizer-rest",{"title":165,"path":166,"stem":167},"MyScript iink SDK Web REST Batch API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Flegacy-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F04.legacy-api",{"title":169,"path":170,"stem":171},"Batch configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F05.configuration-rest",{"title":173,"path":174,"stem":175,"children":176,"page":40},"WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets","docs\u002Fcloud\u002F4.5\u002F07.websockets",[177,181,185,189,193],{"title":178,"path":179,"stem":180},"MyScript iink SDK WebSockets API architecture","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F01.architecture",{"title":182,"path":183,"stem":184},"Offscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F02.messages-offscreen",{"title":186,"path":187,"stem":188},"Offscreen interactivity math messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmath-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F03.math-offscreen",{"title":190,"path":191,"stem":192},"Onscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-onscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F04.messages-onscreen",{"title":144,"path":194,"stem":195},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F05.configuration-ws",{"title":197,"path":198,"stem":199,"children":200,"page":40},"Specific","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific","docs\u002Fcloud\u002F4.5\u002F08.specific",[201,205],{"title":202,"path":203,"stem":204},"Text recognition candidates","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F01.text-recognition-candidates",{"title":206,"path":207,"stem":208},"Recognition resources","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F02.custom-recognition",{"title":210,"path":211,"stem":212,"children":213,"page":40},"Server","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver","docs\u002Fcloud\u002F4.5\u002F09.server",[214,218,222,226,230],{"title":215,"path":216,"stem":217},"MyScript Server Installation Preamble and Prerequisites","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fpreamble-prerequisites","docs\u002Fcloud\u002F4.5\u002F09.server\u002F01.preamble-prerequisites",{"title":219,"path":220,"stem":221},"MyScript Server Monoserver Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F02.monoserver-installation",{"title":223,"path":224,"stem":225},"MyScript Server Production Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fproduction-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F03.production-installation",{"title":227,"path":228,"stem":229},"MyScript Server Migration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F04.server-migration-guide",{"title":231,"path":232,"stem":233},"MyScript Server Administration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F05.administration-guide",{"title":139,"path":235,"stem":236,"children":237,"page":40},"\u002Fdocs\u002Fcloud\u002F4.5\u002Freference","docs\u002Fcloud\u002F4.5\u002F10.reference",[238],{"title":239,"path":240,"stem":241},"JIIX format reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Freference\u002Fjiix","docs\u002Fcloud\u002F4.5\u002F10.reference\u002F01.jiix",{"title":243,"path":244,"stem":245,"children":246,"page":40},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[247,250,254],{"title":20,"path":248,"stem":249},"\u002Fdocs\u002Fconcepts\u002Foverview","docs\u002Fconcepts\u002F01.overview",{"title":251,"path":252,"stem":253},"Glossary","\u002Fdocs\u002Fconcepts\u002Fglossary","docs\u002Fconcepts\u002F02.glossary",{"title":255,"path":256,"stem":257,"children":258,"page":40},"Fundamentals","\u002Fdocs\u002Fconcepts\u002Ffundamentals","docs\u002Fconcepts\u002F03.fundamentals",[259,263,292,312],{"title":260,"path":261,"stem":262},"OCR vs digital ink recognition","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fdigital-ink-vs-ocr","docs\u002Fconcepts\u002F03.fundamentals\u002F01.digital-ink-vs-ocr",{"title":264,"path":265,"stem":266,"children":267,"page":40},"Ink interpretation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation",[268,272,276,280,284,288],{"title":269,"path":270,"stem":271},"Ink processing","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F01.ink-interpretation",{"title":273,"path":274,"stem":275},"Recognition features","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontent-types","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F02.content-types",{"title":277,"path":278,"stem":279},"Ink classification","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-classification","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F03.ink-classification",{"title":281,"path":282,"stem":283},"What are batch mode and incremental mode?","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fbatch-mode","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F04.batch-mode",{"title":285,"path":286,"stem":287},"Gestures and context","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontext-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F05.context-gestures",{"title":289,"path":290,"stem":291},"What is interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Finteractive-ink","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F06.interactive-ink",{"title":293,"path":294,"stem":295,"children":296,"page":40},"Rendering-driven interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity",[297,301,304,308],{"title":298,"path":299,"stem":300},"Ink capture","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fink-capture","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F01.ink-capture",{"title":76,"path":302,"stem":303},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fediting-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F02.editing-gestures",{"title":305,"path":306,"stem":307},"Smart tools","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fsmart-tools","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F03.smart-tools",{"title":309,"path":310,"stem":311},"Responsive and productive","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fresponsive-layout","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F04.responsive-layout",{"title":313,"path":314,"stem":315,"children":316,"page":40},"Handwriting generation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation",[317],{"title":313,"path":318,"stem":319},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation\u002F01.handwriting-generation",{"title":321,"path":322,"stem":323,"children":324,"page":40},"Sdk","\u002Fdocs\u002Fsdk","docs\u002Fsdk",[325],{"title":15,"path":326,"stem":327,"children":328,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5","docs\u002Fsdk\u002F4.5",[329,333,336,339,349,368,381,393,401,417,426,463,467,470,474,477,484],{"title":330,"path":331,"stem":332},"About MyScript iink SDK","\u002Fdocs\u002Fsdk\u002F4.5\u002Fabout","docs\u002Fsdk\u002F4.5\u002F01.about",{"title":33,"path":334,"stem":335},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fchangelog","docs\u002Fsdk\u002F4.5\u002F02.changelog",{"title":37,"path":337,"stem":338},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fmigration-guide","docs\u002Fsdk\u002F4.5\u002F03.migration-guide",{"title":42,"path":340,"stem":341,"children":342,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration","docs\u002Fsdk\u002F4.5\u002F04.integration",[343,346],{"title":47,"path":344,"stem":345},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F01.platforms",{"title":51,"path":347,"stem":348},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F02.integration-levels",{"title":55,"path":350,"stem":351,"children":352,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities",[353,356,359,362,365],{"title":60,"path":354,"stem":355},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F01.recognizers",{"title":64,"path":357,"stem":358},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F02.text-languages",{"title":68,"path":360,"stem":361},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":363,"stem":364},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":366,"stem":367},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F05.gestures",{"title":80,"path":369,"stem":370,"children":371,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration",[372,375,378],{"title":85,"path":373,"stem":374},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F01.content-types",{"title":89,"path":376,"stem":377},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F02.interactive-features",{"title":93,"path":379,"stem":380},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F03.import-and-export-formats",{"title":106,"path":382,"stem":383,"children":384,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started","docs\u002Fsdk\u002F4.5\u002F07.getting-started",[385,389],{"title":386,"path":387,"stem":388},"Setup","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Fsetup","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F01.setup",{"title":390,"path":391,"stem":392},"Instantiate Engine","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Finteractive-ink-runtime","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F02.interactive-ink-runtime",{"title":394,"path":395,"stem":396,"children":397,"page":40},"Recognizer","\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer","docs\u002Fsdk\u002F4.5\u002F08.recognizer",[398],{"title":60,"path":399,"stem":400},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F08.recognizer\u002F01.recognizers",{"title":402,"path":403,"stem":404,"children":405,"page":40},"Interactivity specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity","docs\u002Fsdk\u002F4.5\u002F09.interactivity",[406,410,413],{"title":407,"path":408,"stem":409},"Storage","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fstorage","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F01.storage",{"title":97,"path":411,"stem":412},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fmath-features","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F02.math-features",{"title":414,"path":415,"stem":416},"Integrate with the undo\u002Fredo stack of your application","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fcombined-undo-redo-stacks","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F03.combined-undo-redo-stacks",{"title":418,"path":419,"stem":420,"children":421,"page":40},"OffScreenEditor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor",[422],{"title":423,"path":424,"stem":425},"OffscreenEditor","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor\u002Foff-screen-usage","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor\u002F01.off-screen-usage",{"title":427,"path":428,"stem":429,"children":430,"page":40},"Editor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor","docs\u002Fsdk\u002F4.5\u002F11.editor",[431,435,439,443,447,451,455,459],{"title":432,"path":433,"stem":434},"Rendering","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Frendering","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F01.rendering",{"title":436,"path":437,"stem":438},"Editing","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fediting","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F02.editing",{"title":440,"path":441,"stem":442},"Tool controller","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Ftool-controller","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F03.tool-controller",{"title":444,"path":445,"stem":446},"Selection and block","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fblock-selection-management","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F04.block-selection-management",{"title":448,"path":449,"stem":450},"Conversion","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fconversion","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F05.conversion",{"title":452,"path":453,"stem":454},"Zooming and scrolling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fzooming-and-scrolling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F06.zooming-and-scrolling",{"title":456,"path":457,"stem":458},"Styling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F07.styling",{"title":460,"path":461,"stem":462},"Custom inking","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fcustom-inking","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F08.custom-inking",{"title":464,"path":465,"stem":466},"Result, import and export","\u002Fdocs\u002Fsdk\u002F4.5\u002Fimport-and-export","docs\u002Fsdk\u002F4.5\u002F12.import-and-export",{"title":202,"path":468,"stem":469},"\u002Fdocs\u002Fsdk\u002F4.5\u002Ftext-recognition-candidates","docs\u002Fsdk\u002F4.5\u002F13.text-recognition-candidates",{"title":471,"path":472,"stem":473},"Error management","\u002Fdocs\u002Fsdk\u002F4.5\u002Ferror-management","docs\u002Fsdk\u002F4.5\u002F14.error-management",{"title":206,"path":475,"stem":476},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fcustom-recognition","docs\u002Fsdk\u002F4.5\u002F15.custom-recognition",{"title":313,"path":478,"stem":479,"children":480,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation",[481],{"title":313,"path":482,"stem":483},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation\u002F01.handwriting-generation",{"title":139,"path":485,"stem":486,"children":487,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference","docs\u002Fsdk\u002F4.5\u002F17.reference",[488,491,494],{"title":144,"path":489,"stem":490},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fconfiguration","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F01.configuration",{"title":239,"path":492,"stem":493},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fjiix","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F02.jiix",{"title":495,"path":496,"stem":497},"Styling reference","\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F03.styling",{"path":111,"page":499},{"id":500,"title":110,"body":501,"canonicalPath":1205,"description":1206,"extension":1207,"icon":1205,"meta":1208,"navTitle":1205,"navigation":711,"path":111,"resolveKey":1209,"resolveVersion":1205,"seo":1210,"stem":112,"__hash__":1211},"cloud45\u002Fdocs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F02.canvas.md",{"type":502,"value":503,"toc":1198},"minimark",[504,508,513,516,536,541,559,563,589,593,603,609,636,640,643,655,728,736,892,896,899,1038,1041,1046,1050,1055,1059,1065,1071,1124,1127,1171,1181,1190,1194],[505,506,507],"p",{},"This page focuses on the role of the Canvas object, the central point to interact with content.",[509,510,512],"h2",{"id":511},"different-types-of-canvas","Different types of canvas",[505,514,515],{},"There are currently four different classes of canvas:",[517,518,519],"ul",{},[520,521,522,529,530,535],"li",{},[523,524,525],"strong",{},[526,527,528],"code",{},"InteractiveInkCanvas"," provides interactive ink technology leveraging the ",[531,532,534],"a",{"href":533},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture#offscreen-interactivity-mode","offscreen mode with Websocket protocol",".\nIt is based on a Raw Content part type that is very flexible and allows you to take advantage of all of iink's interactive features.",[537,538],"github-links",{"demo":539,"source":540},"https:\u002F\u002Fmyscript.github.io\u002FiinkTS\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_get_started.html","https:\u002F\u002Fgithub.com\u002FMyScript\u002FiinkTS\u002Fblob\u002F4.0.0\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_get_started.html",[517,542,543],{},[520,544,545,550,551,554,555,558],{},[523,546,547],{},[526,548,549],{},"InkCanvas"," provides ink capture and display as well as batch recognition leveraging the ",[531,552,553],{"href":158},"REST recognizer endpoint",", which can be used either for Text, Math, Raw Content, or Shape recognition. This online example illustrates ",[523,556,557],{},"Raw Content"," recognition:",[537,560],{"demo":561,"source":562},"https:\u002F\u002Fmyscript.github.io\u002FiinkTS\u002Fexamples\u002Fcanvas\u002Fcanvas_v2_raw_content.html","https:\u002F\u002Fgithub.com\u002FMyScript\u002FiinkTS\u002Fblob\u002F4.0.0\u002Fexamples\u002Fcanvas\u002Fcanvas_v2_raw_content.html",[517,564,565,578],{},[520,566,567,572,573,577],{},[523,568,569],{},[526,570,571],{},"InteractiveInkSSRCanvas"," provides interactive ink technology with ",[531,574,576],{"href":575},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture#onscreen-interactivity-mode","Server Side Rendering (SSR) with Websocket protocol",".\nIt is either based on a Math or a Text part type and allows you to take advantage of limited iink's interactive features.",[520,579,580,550,585,588],{},[523,581,582],{},[526,583,584],{},"InkCanvasDeprecated",[531,586,587],{"href":166},"REST batch endpoint",".",[509,590,592],{"id":591},"how-to-choose-my-canvas","How to choose my canvas",[505,594,595,596,598,599,602],{},"To get the most out of iink, we recommend you to use an ",[526,597,528],{}," to get full ",[531,600,601],{"href":290},"interactivity",": gestures, lasso, math solving, etc.\nThere is nothing particular to do to benefit from gestures:\nThe SDK will take care of detecting and applying the effect of the gestures from the provided input without any plumbing needed.",[505,604,605,606,608],{},"For the situations where you only want to get the ink recognition, you may prefer to use REST, so we recommend you to use an ",[526,607,549],{}," but in this case you only benefit from iink recognition features.",[610,611,613],"callout",{"color":612},"secondary",[505,614,615,616,620,621,625,626,630,631,635],{},"If you start a new project, consider using an ",[523,617,618],{},[526,619,528],{}," or an ",[523,622,623],{},[526,624,549],{},", as ",[523,627,628],{},[526,629,571],{}," and ",[523,632,633],{},[526,634,584],{}," are deprecated.",[509,637,639],{"id":638},"how-to-create-a-canvas","How to create a canvas",[505,641,642],{},"There are two ways to create an canvas:",[517,644,645],{},[520,646,647,648,651,652,654],{},"You can instantiate it directly with its ",[531,649,650],{"href":145},"configuration options",". For instance, to use a ",[526,653,528],{}," you can use the following code:",[656,657,662],"pre",{"className":658,"code":659,"language":660,"meta":661,"style":661},"language-javascript shiki shiki-themes blue-hacker-light blue-hacker-light blue-hacker-dark","let canvas = new InteractiveInkCanvas(rootElement, options as TInteractiveInkCanvasOptions)\n\nawait canvas.initialize()\n","javascript","",[526,663,664,706,713],{"__ignoreMap":661},[665,666,669,673,677,680,683,687,690,693,696,699,703],"span",{"class":667,"line":668},"line",1,[665,670,672],{"class":671},"sglaT","let",[665,674,676],{"class":675},"sEQEB"," canvas ",[665,678,679],{"class":671},"=",[665,681,682],{"class":671}," new",[665,684,686],{"class":685},"soFc9"," InteractiveInkCanvas",[665,688,689],{"class":675},"(rootElement",[665,691,692],{"class":685},",",[665,694,695],{"class":675}," options ",[665,697,698],{"class":685},"as",[665,700,702],{"class":701},"sVYTS"," TInteractiveInkCanvasOptions",[665,704,705],{"class":675},")\n",[665,707,709],{"class":667,"line":708},2,[665,710,712],{"emptyLinePlaceholder":711},true,"\n",[665,714,716,719,722,725],{"class":667,"line":715},3,[665,717,718],{"class":685},"await",[665,720,721],{"class":675}," canvas",[665,723,724],{"class":685},".initialize",[665,726,727],{"class":675},"()\n",[517,729,730],{},[520,731,732,733,735],{},"You can use the Canvas load method, which will create the right canvas according to its type and ",[531,734,650],{"href":145}," arguments:",[656,737,739],{"className":658,"code":738,"language":660,"meta":661,"style":661},"  const canvasElement = document.getElementById('canvas');\n\n  const canvas = await iink.canvas.load(canvasElement, \"INTERACTIVE_INK\",\n        configuration: {\n            server: {\n                applicationKey: '#YOUR MYSCRIPT DEVELOPER APPLICATION KEY#',\n                hmacKey: '#YOUR MYSCRIPT DEVELOPER HMAC KEY#'\n            }\n        }\n  });\n",[526,740,741,775,779,817,826,838,856,872,878,884],{"__ignoreMap":661},[665,742,743,746,749,751,754,757,760,763,767,769,772],{"class":667,"line":668},[665,744,745],{"class":671},"  const",[665,747,748],{"class":675}," canvasElement ",[665,750,679],{"class":671},[665,752,753],{"class":675}," document",[665,755,756],{"class":685},".getElementById",[665,758,759],{"class":675},"(",[665,761,762],{"class":685},"'",[665,764,766],{"class":765},"sZBTK","canvas",[665,768,762],{"class":685},[665,770,771],{"class":675},")",[665,773,774],{"class":685},";\n",[665,776,777],{"class":667,"line":708},[665,778,712],{"emptyLinePlaceholder":711},[665,780,781,783,785,787,790,793,795,797,800,803,805,808,811,814],{"class":667,"line":715},[665,782,745],{"class":671},[665,784,676],{"class":675},[665,786,679],{"class":671},[665,788,789],{"class":685}," await",[665,791,792],{"class":675}," iink",[665,794,588],{"class":685},[665,796,766],{"class":675},[665,798,799],{"class":685},".load",[665,801,802],{"class":675},"(canvasElement",[665,804,692],{"class":685},[665,806,807],{"class":685}," \"",[665,809,810],{"class":765},"INTERACTIVE_INK",[665,812,813],{"class":685},"\"",[665,815,816],{"class":685},",\n",[665,818,820,823],{"class":667,"line":819},4,[665,821,822],{"class":675},"        configuration: ",[665,824,825],{"class":685},"{\n",[665,827,829,832,835],{"class":667,"line":828},5,[665,830,831],{"class":675},"            server",[665,833,834],{"class":685},":",[665,836,837],{"class":685}," {\n",[665,839,841,844,846,849,852,854],{"class":667,"line":840},6,[665,842,843],{"class":675},"                applicationKey",[665,845,834],{"class":685},[665,847,848],{"class":685}," '",[665,850,851],{"class":765},"#YOUR MYSCRIPT DEVELOPER APPLICATION KEY#",[665,853,762],{"class":685},[665,855,816],{"class":685},[665,857,859,862,864,866,869],{"class":667,"line":858},7,[665,860,861],{"class":675},"                hmacKey",[665,863,834],{"class":685},[665,865,848],{"class":685},[665,867,868],{"class":765},"#YOUR MYSCRIPT DEVELOPER HMAC KEY#",[665,870,871],{"class":685},"'\n",[665,873,875],{"class":667,"line":874},8,[665,876,877],{"class":685},"            }\n",[665,879,881],{"class":667,"line":880},9,[665,882,883],{"class":685},"        }\n",[665,885,887,890],{"class":667,"line":886},10,[665,888,889],{"class":675},"  })",[665,891,774],{"class":685},[509,893,895],{"id":894},"configuration-options-of-the-canvas","Configuration options of the canvas",[505,897,898],{},"Since not all configuration options are relevant for each canvas type, each canvas type comes with a default configuration, which is defined in its own object:",[900,901,902,926],"table",{},[903,904,905],"thead",{},[906,907,908,911,914,917,923],"tr",{},[909,910,766],"th",{},[909,912,913],{},"canvas type",[909,915,916],{},"canvas configuration object",[909,918,919,922],{},[523,920,921],{},"Recognition type"," possible values",[909,924,925],{},"Protocol",[927,928,929,952,979,1009],"tbody",{},[906,930,931,936,940,945,949],{},[932,933,934],"td",{},[526,935,528],{},[932,937,938],{},[526,939,810],{},[932,941,942],{},[526,943,944],{},"InteractiveInkCanvasConfiguration",[932,946,947],{},[526,948,557],{},[932,950,951],{},"Websocket",[906,953,954,958,963,968,977],{},[932,955,956],{},[526,957,571],{},[932,959,960],{},[526,961,962],{},"INTERACTIVE_INK_SSR",[932,964,965],{},[526,966,967],{},"InteractiveInkSSRCanvasConfiguration",[932,969,970,973,974],{},[526,971,972],{},"MATH"," or ",[526,975,976],{},"TEXT",[932,978,951],{},[906,980,981,985,990,995,1007],{},[932,982,983],{},[526,984,549],{},[932,986,987],{},[526,988,989],{},"INK_V2",[932,991,992],{},[526,993,994],{},"InkCanvasConfiguration",[932,996,997,999,1000,999,1002,973,1005],{},[526,998,972],{},", ",[526,1001,976],{},[526,1003,1004],{},"SHAPE",[526,1006,557],{},[932,1008,148],{},[906,1010,1011,1015,1020,1025,1036],{},[932,1012,1013],{},[526,1014,584],{},[932,1016,1017],{},[526,1018,1019],{},"INK_V1",[932,1021,1022],{},[526,1023,1024],{},"InkCanvasDeprecatedConfiguration",[932,1026,1027,999,1029,999,1031,973,1034],{},[526,1028,972],{},[526,1030,976],{},[526,1032,1033],{},"DIAGRAM",[526,1035,557],{},[932,1037,148],{},[505,1039,1040],{},"All options have sensible defaults, and the configuration can be customized during the creation of the canvas by using any subset of the configuration options to the Canvas.load() function.\nKeys that are not set keep their default value.",[505,1042,1043,1044,834],{},"This sample gives you an overview of all configuration options with their default values for the ",[526,1045,944],{},[537,1047],{"demo":1048,"source":1049},"https:\u002F\u002Fmyscript.github.io\u002FiinkTS\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_default_options.html","https:\u002F\u002Fgithub.com\u002FMyScript\u002FiinkTS\u002Fblob\u002F4.0.0\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_default_options.html",[610,1051,1052],{"color":612},[505,1053,1054],{},"It is not possible to change the configuration of an existing canvas, so to change the configuration you must load a new canvas",[509,1056,1058],{"id":1057},"monitoring-changes-and-errors","Monitoring changes and errors",[505,1060,1061,1064],{},[523,1062,1063],{},"CanvasEventName"," lists all events that can be listened to on the Canvas or DOM element, which allows you, as a developer, to plug in custom logic when they occur.",[505,1066,1067,1068,1070],{},"You can run code on a particular ",[523,1069,1063],{}," by registering an event listener on it.\nFor example, to listen to canvas state changes:",[656,1072,1074],{"className":658,"code":1073,"language":660,"meta":661,"style":661},"canvas.event.addEventListener(CanvasEventName.CHANGED, (evt) => console.log(evt.detail))\n",[526,1075,1076],{"__ignoreMap":661},[665,1077,1078,1080,1082,1085,1088,1091,1093,1096,1098,1101,1105,1107,1110,1113,1116,1119,1121],{"class":667,"line":668},[665,1079,766],{"class":675},[665,1081,588],{"class":685},[665,1083,1084],{"class":675},"event",[665,1086,1087],{"class":685},".addEventListener",[665,1089,1090],{"class":675},"(CanvasEventName",[665,1092,588],{"class":685},[665,1094,1095],{"class":675},"CHANGED",[665,1097,692],{"class":685},[665,1099,1100],{"class":685}," (",[665,1102,1104],{"class":1103},"sU2JI","evt",[665,1106,771],{"class":685},[665,1108,1109],{"class":671}," =>",[665,1111,1112],{"class":675}," console",[665,1114,1115],{"class":685},".log",[665,1117,1118],{"class":675},"(evt",[665,1120,588],{"class":685},[665,1122,1123],{"class":675},"detail))\n",[505,1125,1126],{},"The main events are:",[517,1128,1129,1135,1141,1147,1153,1159,1165],{},[520,1130,1131,1134],{},[526,1132,1133],{},"loaded",": Fired when the canvas is fully loaded.",[520,1136,1137,1140],{},[526,1138,1139],{},"changed",": Fired when the canvas state changes, e.g. when undo\u002Fredo is available or not.",[520,1142,1143,1146],{},[526,1144,1145],{},"converted",": Fired when the canvas content is converted.",[520,1148,1149,1152],{},[526,1150,1151],{},"exported",": Fired when the canvas content export is available.",[520,1154,1155,1158],{},[526,1156,1157],{},"idle",": Fired when the canvas idle state changes, when asked.",[520,1160,1161,1164],{},[526,1162,1163],{},"error",": Fired when an error occurs.",[520,1166,1167,1170],{},[526,1168,1169],{},"cleared",": Triggered when clearing is complete.",[505,1172,1173,1174,1177,1178,1180],{},"The method ",[526,1175,1176],{},"waitForIdle()"," provided by iinkTS will raise an ",[526,1179,1157],{}," event when server and browser processing are over. This may be useful for instance in the case you want some synchronous recognition.",[505,1182,1183,1184,630,1186,1189],{},"The following example let you explore by yourself how to observe ",[526,1185,1139],{},[526,1187,1188],{},"selected"," events, to display a real-time snapshot of canvas state:\nSame logic could be applied with any other event.",[537,1191],{"demo":1192,"source":1193},"https:\u002F\u002Fmyscript.github.io\u002FiinkTS\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_live_monitor.html","https:\u002F\u002Fgithub.com\u002FMyScript\u002FiinkTS\u002Fblob\u002F4.0.0\u002Fexamples\u002Finteractive-canvas\u002Finteractive_canvas_live_monitor.html",[1195,1196,1197],"style",{},"html pre.shiki code .sglaT, html code.shiki .sglaT{--shiki-light:#7751EC;--shiki-default:#7751EC;--shiki-dark:#AC92FC}html pre.shiki code .sEQEB, html code.shiki .sEQEB{--shiki-light:#051F41;--shiki-default:#051F41;--shiki-dark:#D1E9FA}html pre.shiki code .soFc9, html code.shiki .soFc9{--shiki-light:#1A9FFF;--shiki-default:#1A9FFF;--shiki-dark:#1A9FFF}html pre.shiki code .sVYTS, html code.shiki .sVYTS{--shiki-light:#0081F0;--shiki-default:#0081F0;--shiki-dark:#1A9FFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZBTK, html code.shiki .sZBTK{--shiki-light:#002DB3;--shiki-default:#002DB3;--shiki-dark:#80EAFF}html pre.shiki code .sU2JI, html code.shiki .sU2JI{--shiki-light:#005FE4;--shiki-default:#005FE4;--shiki-dark:#80DFFF}",{"title":661,"searchDepth":715,"depth":715,"links":1199},[1200,1201,1202,1203,1204],{"id":511,"depth":708,"text":512},{"id":591,"depth":708,"text":592},{"id":638,"depth":708,"text":639},{"id":894,"depth":708,"text":895},{"id":1057,"depth":708,"text":1058},null,"Guide to discover iinkTS canvas","md",{},"hjn2fo",{"title":110,"description":1206},"7qrySoFo9Qb_yRfUsEfW8gLawPARyUNEqmN3H4y2-bU",[1213],{"title":5,"path":6,"stem":7,"children":1214,"page":40},[1215],{"title":10,"path":11,"stem":12,"children":1216,"page":40},[1217],{"title":15,"navTitle":1205,"icon":1205,"path":16,"stem":17,"children":1218,"page":40},[1219,1231,1238,1250,1261,1276,1286,1296,1302,1314],{"title":20,"navTitle":1205,"icon":1205,"path":21,"stem":22,"children":1220,"page":40},[1221,1224,1227,1229],{"title":25,"path":26,"stem":27,"navTitle":1222,"icon":1223},"Introduction","i-tabler-info-circle",{"title":29,"path":30,"stem":31,"navTitle":1225,"icon":1226},"REST\u002FHTTP vs. WebSockets","i-tabler-question-circle",{"title":33,"path":34,"stem":35,"navTitle":33,"icon":1228},"i-tabler-bell-ringing",{"title":37,"path":38,"stem":39,"navTitle":37,"icon":1230},"i-tabler-gps",{"title":42,"navTitle":1205,"icon":1205,"path":43,"stem":44,"children":1232,"page":40},[1233,1236],{"title":47,"path":48,"stem":49,"navTitle":1234,"icon":1235},"Platforms","i-tabler-device-laptop",{"title":51,"path":52,"stem":53,"navTitle":51,"icon":1237},"i-tabler-stack-2",{"title":55,"navTitle":1205,"icon":1205,"path":56,"stem":57,"children":1239,"page":40},[1240,1242,1244,1246,1248],{"title":60,"path":61,"stem":62,"navTitle":1205,"icon":1241},"i-tabler-text-scan-2",{"title":64,"path":65,"stem":66,"navTitle":64,"icon":1243},"i-tabler-language",{"title":68,"path":69,"stem":70,"navTitle":68,"icon":1245},"i-tabler-math",{"title":72,"path":73,"stem":74,"navTitle":72,"icon":1247},"i-tabler-circle-square",{"title":76,"path":77,"stem":78,"navTitle":1205,"icon":1249},"i-tabler-hand-finger",{"title":80,"navTitle":1205,"icon":1205,"path":81,"stem":82,"children":1251,"page":40},[1252,1254,1256,1259],{"title":85,"path":86,"stem":87,"navTitle":85,"icon":1253},"i-tabler-eye",{"title":89,"path":90,"stem":91,"navTitle":89,"icon":1255},"i-tabler-bolt",{"title":93,"path":94,"stem":95,"navTitle":1257,"icon":1258},"Import and export","i-tabler-arrows-left-right",{"title":97,"path":98,"stem":99,"navTitle":97,"icon":1260},"i-tabler-calculator",{"title":101,"navTitle":1205,"icon":1205,"path":102,"stem":103,"children":1262,"page":40},[1263,1264,1265,1268,1273],{"title":106,"path":107,"stem":108,"navTitle":1205,"icon":1205},{"title":110,"path":111,"stem":112,"navTitle":1205,"icon":1205},{"title":114,"navTitle":1205,"icon":1205,"path":115,"stem":116,"children":1266,"page":40},[1267],{"title":114,"path":119,"stem":120,"navTitle":1205,"icon":1205},{"title":122,"navTitle":1205,"icon":1205,"path":123,"stem":124,"children":1269,"page":40},[1270,1271,1272],{"title":127,"path":128,"stem":129,"navTitle":1205,"icon":1205},{"title":131,"path":132,"stem":133,"navTitle":1205,"icon":1205},{"title":135,"path":136,"stem":137,"navTitle":1205,"icon":1205},{"title":139,"navTitle":1205,"icon":1205,"path":140,"stem":141,"children":1274,"page":40},[1275],{"title":144,"path":145,"stem":146,"navTitle":1205,"icon":1205},{"title":148,"navTitle":1205,"icon":1205,"path":149,"stem":150,"children":1277,"page":40},[1278,1280,1282,1283,1285],{"title":153,"path":154,"stem":155,"navTitle":1279,"icon":1205},"Architecture",{"title":157,"path":158,"stem":159,"navTitle":1281,"icon":1205},"Recognizer API",{"title":161,"path":162,"stem":163,"navTitle":1205,"icon":1205},{"title":165,"path":166,"stem":167,"navTitle":1284,"icon":1205},"Batch API",{"title":169,"path":170,"stem":171,"navTitle":1205,"icon":1205},{"title":173,"navTitle":1205,"icon":1205,"path":174,"stem":175,"children":1287,"page":40},[1288,1289,1291,1293,1295],{"title":178,"path":179,"stem":180,"navTitle":1279,"icon":1205},{"title":182,"path":183,"stem":184,"navTitle":1290,"icon":1205},"Offscreen Messages",{"title":186,"path":187,"stem":188,"navTitle":1292,"icon":1205},"Offscreen Math messages",{"title":190,"path":191,"stem":192,"navTitle":1294,"icon":1205},"Onscreen Messages",{"title":144,"path":194,"stem":195,"navTitle":1205,"icon":1205},{"title":197,"navTitle":1205,"icon":1205,"path":198,"stem":199,"children":1297,"page":40},[1298,1300],{"title":202,"path":203,"stem":204,"navTitle":1205,"icon":1299},"i-tabler-tags",{"title":206,"path":207,"stem":208,"navTitle":1205,"icon":1301},"i-tabler-file-code",{"title":210,"navTitle":1205,"icon":1205,"path":211,"stem":212,"children":1303,"page":40},[1304,1306,1308,1310,1312],{"title":215,"path":216,"stem":217,"navTitle":1305,"icon":1205},"Preamble and prerequisites",{"title":219,"path":220,"stem":221,"navTitle":1307,"icon":1205},"Monoserver installation",{"title":223,"path":224,"stem":225,"navTitle":1309,"icon":1205},"Production installation",{"title":227,"path":228,"stem":229,"navTitle":1311,"icon":1205},"Server migration guide",{"title":231,"path":232,"stem":233,"navTitle":1313,"icon":1205},"Administration guide",{"title":139,"navTitle":1205,"icon":1205,"path":235,"stem":236,"children":1315,"page":40},[1316],{"title":239,"path":240,"stem":241,"navTitle":1317,"icon":1318},"JIIX","i-tabler-braces",{"id":1320,"title":1321,"body":1322,"canonicalPath":1205,"description":1382,"extension":1207,"icon":1230,"meta":1383,"navTitle":20,"navigation":711,"path":1384,"resolveKey":1205,"resolveVersion":1205,"seo":1385,"stem":1386,"__hash__":1387},"support\u002Fsupport\u002F01.index.md","Support",{"type":502,"value":1323,"toc":1380},[1324,1327],[505,1325,1326],{},"Find answers to common questions about integrating the iink SDK and MyScript Cloud APIs. Browse the topics below or reach out on the community forum.",[1328,1329,1330,1339,1347,1355,1363,1372],"card-group",{},[1331,1332,1336],"card",{"icon":1333,"title":1334,"to":1335},"i-tabler-package","Recognition assets","\u002Fsupport\u002Frecognition-assets\u002F",[505,1337,1338],{},"Download base assets and build custom resources to fine-tune the recognition.",[1331,1340,1344],{"icon":1341,"title":1342,"to":1343},"i-tabler-key","On-device license management","\u002Fsupport\u002Fon-device\u002Fon-device-license-management\u002F",[505,1345,1346],{},"Manage licenses for applications embedding the on-device iink SDK.",[1331,1348,1352],{"icon":1349,"title":1350,"to":1351},"i-tabler-user-circle","Registering with MyScript Cloud","\u002Fsupport\u002Fcloud\u002Fregistering-myscript-cloud\u002F",[505,1353,1354],{},"Create a Cloud account and obtain the keys to call our recognition APIs.",[1331,1356,1360],{"icon":1357,"title":1358,"to":1359},"i-tabler-rocket","Being production ready","\u002Fsupport\u002Fcloud\u002Fbeing-production-ready\u002F",[505,1361,1362],{},"Best practices and quotas to ship your iink Cloud integration to production.",[1331,1364,1369],{"icon":1365,"title":1366,"to":1367,"target":1368},"i-tabler-message-circle","Forums","https:\u002F\u002Fdeveloper-support.myscript.com\u002Fsupport\u002Flogin","_blank",[505,1370,1371],{},"Ask questions and get answers from the MyScript developer community.",[1331,1373,1377],{"icon":1374,"title":1375,"to":1376,"target":1368},"i-tabler-mail","Contact us","https:\u002F\u002Fwww.myscript.com\u002Fcontact\u002F",[505,1378,1379],{},"Can't find what you're looking for? Reach out to our team.",{"title":661,"searchDepth":715,"depth":715,"links":1381},[],"MyScript Developer Support hub",{},"\u002Fsupport",{"title":1321,"description":1382},"support\u002F01.index","jENFmcn55y_8r3_6pH5xxlH1dZJBwoAuq9F7gXQtow8",1792566620439]