[{"data":1,"prerenderedAt":1511},["ShallowReactive",2],{"navigation_docs_en":3,"-en-how-to-use-web":173,"-en-how-to-use-web-surround":1506},[4,30,109,153],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F01.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F01.getting-started\u002F1.introduction","i-ph-rocket",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F01.getting-started\u002F2.installation","i-ph-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fen\u002Fgetting-started\u002Fquick-start","en\u002F01.getting-started\u002F3.quick-start","i-ph-play",{"title":25,"path":26,"stem":27,"icon":28},"Live Demo","\u002Fen\u002Fgetting-started\u002Flive-demo","en\u002F01.getting-started\u002F4.live-demo","i-ph-sparkle",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"How To","\u002Fen\u002Fhow-to","en\u002F02.how-to",[35,40,45,50,55,60,65,70,75,79,84,89,94,99,104],{"title":36,"path":37,"stem":38,"icon":39},"Use Rust","\u002Fen\u002Fhow-to\u002Fuse-rust","en\u002F02.how-to\u002F00.use-rust","simple-icons-rust",{"title":41,"path":42,"stem":43,"icon":44},"Use .NET \u002F C#","\u002Fen\u002Fhow-to\u002Fuse-csharp","en\u002F02.how-to\u002F01.use-csharp","simple-icons-dotnet",{"title":46,"path":47,"stem":48,"icon":49},"Use React Native","\u002Fen\u002Fhow-to\u002Fuse-react-native","en\u002F02.how-to\u002F02.use-react-native","simple-icons-react",{"title":51,"path":52,"stem":53,"icon":54},"Use iOS (Swift)","\u002Fen\u002Fhow-to\u002Fuse-ios-swift","en\u002F02.how-to\u002F03.use-ios-swift","simple-icons-apple",{"title":56,"path":57,"stem":58,"icon":59},"Use Android (Kotlin)","\u002Fen\u002Fhow-to\u002Fuse-android-kotlin","en\u002F02.how-to\u002F04.use-android-kotlin","simple-icons-android",{"title":61,"path":62,"stem":63,"icon":64},"Use C FFI","\u002Fen\u002Fhow-to\u002Fuse-c-ffi","en\u002F02.how-to\u002F05.use-c-ffi","simple-icons-c",{"title":66,"path":67,"stem":68,"icon":69},"Use CLI","\u002Fen\u002Fhow-to\u002Fuse-cli","en\u002F02.how-to\u002F06.use-cli","simple-icons-gnubash",{"title":71,"path":72,"stem":73,"icon":74},"Use Web","\u002Fen\u002Fhow-to\u002Fuse-web","en\u002F02.how-to\u002F07.use-web","simple-icons-javascript",{"title":76,"path":77,"stem":78,"icon":49},"Use React","\u002Fen\u002Fhow-to\u002Fuse-react","en\u002F02.how-to\u002F08.use-react",{"title":80,"path":81,"stem":82,"icon":83},"Use Node.js","\u002Fen\u002Fhow-to\u002Fuse-node","en\u002F02.how-to\u002F09.use-node","simple-icons-nodedotjs",{"title":85,"path":86,"stem":87,"icon":88},"Use Python","\u002Fen\u002Fhow-to\u002Fuse-python","en\u002F02.how-to\u002F10.use-python","simple-icons-python",{"title":90,"path":91,"stem":92,"icon":93},"Use Golang","\u002Fen\u002Fhow-to\u002Fuse-golang","en\u002F02.how-to\u002F11.use-golang","simple-icons-go",{"title":95,"path":96,"stem":97,"icon":98},"Use Java & JVM","\u002Fen\u002Fhow-to\u002Fuse-java","en\u002F02.how-to\u002F12.use-java","simple-icons-openjdk",{"title":100,"path":101,"stem":102,"icon":103},"Use Flutter & Dart","\u002Fen\u002Fhow-to\u002Fuse-flutter","en\u002F02.how-to\u002F13.use-flutter","simple-icons-flutter",{"title":105,"path":106,"stem":107,"icon":108},"Use Decoded RGB Input","\u002Fen\u002Fhow-to\u002Fuse-decoded-rgb","en\u002F02.how-to\u002F14.use-decoded-rgb","lucide-image",{"title":110,"path":111,"stem":112,"children":113,"page":29},"Advance Guide","\u002Fen\u002Fadvance-guide","en\u002F03.advance-guide",[114,119,124,129,134,139,144,149],{"title":115,"path":116,"stem":117,"icon":118},"Models & Tiers","\u002Fen\u002Fadvance-guide\u002Fmodels-and-tiers","en\u002F03.advance-guide\u002F01.models-and-tiers","i-ph-cube",{"title":120,"path":121,"stem":122,"icon":123},"Multilingual OCR","\u002Fen\u002Fadvance-guide\u002Fmultilingual-ocr","en\u002F03.advance-guide\u002F02.multilingual-ocr","i-ph-translate",{"title":125,"path":126,"stem":127,"icon":128},"Spatial Layout Reconstruction","\u002Fen\u002Fadvance-guide\u002Fspatial-layout-reconstruction","en\u002F03.advance-guide\u002F03.spatial-layout-reconstruction","i-ph-layout",{"title":130,"path":131,"stem":132,"icon":133},"Image Preprocessing & Tuning","\u002Fen\u002Fadvance-guide\u002Fimage-preprocessing-and-tuning","en\u002F03.advance-guide\u002F04.image-preprocessing-and-tuning","i-ph-sliders",{"title":135,"path":136,"stem":137,"icon":138},"Classification & Orientation","\u002Fen\u002Fadvance-guide\u002Fclassification-and-orientation","en\u002F03.advance-guide\u002F05.classification-and-orientation","i-ph-arrows-clockwise",{"title":140,"path":141,"stem":142,"icon":143},"Performance & Benchmarks","\u002Fen\u002Fadvance-guide\u002Fperformance-and-benchmarks","en\u002F03.advance-guide\u002F06.performance-and-benchmarks","i-ph-chart-line-up",{"title":145,"path":146,"stem":147,"icon":148},"Troubleshooting","\u002Fen\u002Fadvance-guide\u002Ftroubleshooting","en\u002F03.advance-guide\u002F07.troubleshooting","i-ph-wrench",{"title":150,"path":151,"stem":152,"icon":138},"v0.2 to v0.3","\u002Fen\u002Fadvance-guide\u002Fmigration-guide","en\u002F03.advance-guide\u002F08.migration-guide",{"title":154,"path":155,"stem":156,"children":157,"page":29},"Api Reference","\u002Fen\u002Fapi-reference","en\u002F04.api-reference",[158,163,168],{"title":159,"path":160,"stem":161,"icon":162},"InitializeConfig","\u002Fen\u002Fapi-reference\u002Finitialize-config","en\u002F04.api-reference\u002F01.initialize-config","i-ph-code-block",{"title":164,"path":165,"stem":166,"icon":167},"OcrRunOptions","\u002Fen\u002Fapi-reference\u002Focr-run-options","en\u002F04.api-reference\u002F02.ocr-run-options","i-ph-faders",{"title":169,"path":170,"stem":171,"icon":172},"TextResult & Output Modes","\u002Fen\u002Fapi-reference\u002Ftext-result-and-output","en\u002F04.api-reference\u002F03.text-result-and-output","i-ph-textbox",{"id":174,"title":71,"body":175,"description":1498,"extension":1499,"links":1500,"meta":1501,"navigation":1502,"path":72,"seo":1503,"stem":73,"__hash__":1505},"docs_en\u002Fen\u002F02.how-to\u002F07.use-web.md",{"type":176,"value":177,"toc":1487},"minimark",[178,182,191,195,260,263,657,661,664,669,877,881,884,1167,1171,1176,1233,1237,1389,1393,1396,1433,1483],[179,180,71],"h1",{"id":181},"use-web",[183,184,185,186,190],"p",{},"The ",[187,188,189],"code",{},"@rustors\u002Fweb"," package brings client-side OCR capabilities to modern browsers, Web Workers, and client frameworks with full TypeScript support.",[192,193,15],"h2",{"id":194},"installation",[196,197,202],"pre",{"className":198,"code":199,"language":200,"meta":201,"style":201},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","npm install @rustors\u002Fweb @rustors\u002Fmodel-ppocrv6-tiny\n# or\nyarn add @rustors\u002Fweb @rustors\u002Fmodel-ppocrv6-tiny\n# or\npnpm add @rustors\u002Fweb @rustors\u002Fmodel-ppocrv6-tiny\n","bash","",[187,203,204,223,230,243,248],{"__ignoreMap":201},[205,206,209,213,217,220],"span",{"class":207,"line":208},"line",1,[205,210,212],{"class":211},"sR7ES","npm",[205,214,216],{"class":215},"sLACW"," install",[205,218,219],{"class":215}," @rustors\u002Fweb",[205,221,222],{"class":215}," @rustors\u002Fmodel-ppocrv6-tiny\n",[205,224,226],{"class":207,"line":225},2,[205,227,229],{"class":228},"ss7Ak","# or\n",[205,231,233,236,239,241],{"class":207,"line":232},3,[205,234,235],{"class":211},"yarn",[205,237,238],{"class":215}," add",[205,240,219],{"class":215},[205,242,222],{"class":215},[205,244,246],{"class":207,"line":245},4,[205,247,229],{"class":228},[205,249,251,254,256,258],{"class":207,"line":250},5,[205,252,253],{"class":211},"pnpm",[205,255,238],{"class":215},[205,257,219],{"class":215},[205,259,222],{"class":215},[192,261,20],{"id":262},"quick-start",[196,264,268],{"className":265,"code":266,"language":267,"meta":201,"style":201},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark monokai","import { initialize, detectText } from '@rustors\u002Fweb';\nimport { getModelUrls } from '@rustors\u002Fmodel-ppocrv6-tiny';\n\n\u002F\u002F 1. Initialize engine with pre-trained models\nconst urls = getModelUrls('\u002Fmodels\u002Fppocrv6-tiny');\n\nawait initialize({\n  preset: 'ppv6',\n  models: {\n    detection: urls.detection,\n    recognition: urls.recognition,\n    dictionary: urls.dictionary,\n  },\n});\n\n\u002F\u002F 2. Perform OCR on any ImageSource (Image, Canvas, File, Blob, or URL)\nconst results = await detectText(document.getElementById('my-image') as HTMLImageElement);\n\nfor (const item of results) {\n  console.log(`${item.text} (${(item.score * 100).toFixed(1)}%)`);\n}\n","ts",[187,269,270,308,330,336,341,373,378,391,411,422,440,457,474,480,490,495,501,547,552,574,651],{"__ignoreMap":201},[205,271,272,276,280,284,287,290,293,296,300,302,305],{"class":207,"line":208},[205,273,275],{"class":274},"sRxSC","import",[205,277,279],{"class":278},"swvn1"," {",[205,281,283],{"class":282},"ss--_"," initialize",[205,285,286],{"class":278},",",[205,288,289],{"class":282}," detectText",[205,291,292],{"class":278}," }",[205,294,295],{"class":274}," from",[205,297,299],{"class":298},"siCPE"," '",[205,301,189],{"class":215},[205,303,304],{"class":298},"'",[205,306,307],{"class":278},";\n",[205,309,310,312,314,317,319,321,323,326,328],{"class":207,"line":225},[205,311,275],{"class":274},[205,313,279],{"class":278},[205,315,316],{"class":282}," getModelUrls",[205,318,292],{"class":278},[205,320,295],{"class":274},[205,322,299],{"class":298},[205,324,325],{"class":215},"@rustors\u002Fmodel-ppocrv6-tiny",[205,327,304],{"class":298},[205,329,307],{"class":278},[205,331,332],{"class":207,"line":232},[205,333,335],{"emptyLinePlaceholder":334},true,"\n",[205,337,338],{"class":207,"line":245},[205,339,340],{"class":228},"\u002F\u002F 1. Initialize engine with pre-trained models\n",[205,342,343,347,351,355,358,361,363,366,368,371],{"class":207,"line":250},[205,344,346],{"class":345},"srJo8","const",[205,348,350],{"class":349},"s91G_"," urls",[205,352,354],{"class":353},"sGXK2"," =",[205,356,316],{"class":357},"sD0ED",[205,359,360],{"class":282},"(",[205,362,304],{"class":298},[205,364,365],{"class":215},"\u002Fmodels\u002Fppocrv6-tiny",[205,367,304],{"class":298},[205,369,370],{"class":282},")",[205,372,307],{"class":278},[205,374,376],{"class":207,"line":375},6,[205,377,335],{"emptyLinePlaceholder":334},[205,379,381,384,386,388],{"class":207,"line":380},7,[205,382,383],{"class":274},"await",[205,385,283],{"class":357},[205,387,360],{"class":282},[205,389,390],{"class":278},"{\n",[205,392,394,398,401,403,406,408],{"class":207,"line":393},8,[205,395,397],{"class":396},"squCx","  preset",[205,399,400],{"class":278},":",[205,402,299],{"class":298},[205,404,405],{"class":215},"ppv6",[205,407,304],{"class":298},[205,409,410],{"class":278},",\n",[205,412,414,417,419],{"class":207,"line":413},9,[205,415,416],{"class":396},"  models",[205,418,400],{"class":278},[205,420,421],{"class":278}," {\n",[205,423,425,428,430,432,435,438],{"class":207,"line":424},10,[205,426,427],{"class":396},"    detection",[205,429,400],{"class":278},[205,431,350],{"class":282},[205,433,434],{"class":278},".",[205,436,437],{"class":282},"detection",[205,439,410],{"class":278},[205,441,443,446,448,450,452,455],{"class":207,"line":442},11,[205,444,445],{"class":396},"    recognition",[205,447,400],{"class":278},[205,449,350],{"class":282},[205,451,434],{"class":278},[205,453,454],{"class":282},"recognition",[205,456,410],{"class":278},[205,458,460,463,465,467,469,472],{"class":207,"line":459},12,[205,461,462],{"class":396},"    dictionary",[205,464,400],{"class":278},[205,466,350],{"class":282},[205,468,434],{"class":278},[205,470,471],{"class":282},"dictionary",[205,473,410],{"class":278},[205,475,477],{"class":207,"line":476},13,[205,478,479],{"class":278},"  },\n",[205,481,483,486,488],{"class":207,"line":482},14,[205,484,485],{"class":278},"}",[205,487,370],{"class":282},[205,489,307],{"class":278},[205,491,493],{"class":207,"line":492},15,[205,494,335],{"emptyLinePlaceholder":334},[205,496,498],{"class":207,"line":497},16,[205,499,500],{"class":228},"\u002F\u002F 2. Perform OCR on any ImageSource (Image, Canvas, File, Blob, or URL)\n",[205,502,504,506,509,511,514,516,519,521,524,526,528,531,533,536,539,543,545],{"class":207,"line":503},17,[205,505,346],{"class":345},[205,507,508],{"class":349}," results",[205,510,354],{"class":353},[205,512,513],{"class":274}," await",[205,515,289],{"class":357},[205,517,518],{"class":282},"(document",[205,520,434],{"class":278},[205,522,523],{"class":357},"getElementById",[205,525,360],{"class":282},[205,527,304],{"class":298},[205,529,530],{"class":215},"my-image",[205,532,304],{"class":298},[205,534,535],{"class":282},") ",[205,537,538],{"class":274},"as",[205,540,542],{"class":541},"sKvfc"," HTMLImageElement",[205,544,370],{"class":282},[205,546,307],{"class":278},[205,548,550],{"class":207,"line":549},18,[205,551,335],{"emptyLinePlaceholder":334},[205,553,555,558,561,563,566,569,572],{"class":207,"line":554},19,[205,556,557],{"class":274},"for",[205,559,560],{"class":282}," (",[205,562,346],{"class":345},[205,564,565],{"class":349}," item",[205,567,568],{"class":353}," of",[205,570,571],{"class":282}," results) ",[205,573,390],{"class":278},[205,575,577,580,582,585,587,590,594,597,600,603,605,607,609,612,614,616,619,622,626,628,630,633,635,638,640,642,645,647,649],{"class":207,"line":576},20,[205,578,579],{"class":282},"  console",[205,581,434],{"class":278},[205,583,584],{"class":357},"log",[205,586,360],{"class":396},[205,588,589],{"class":298},"`",[205,591,593],{"class":592},"slF1C","${",[205,595,596],{"class":282},"item",[205,598,434],{"class":599},"s00De",[205,601,602],{"class":282},"text",[205,604,485],{"class":592},[205,606,560],{"class":215},[205,608,593],{"class":592},[205,610,360],{"class":611},"s-euU",[205,613,596],{"class":282},[205,615,434],{"class":599},[205,617,618],{"class":282},"score",[205,620,621],{"class":353}," *",[205,623,625],{"class":624},"sYThS"," 100",[205,627,370],{"class":611},[205,629,434],{"class":599},[205,631,632],{"class":357},"toFixed",[205,634,360],{"class":611},[205,636,637],{"class":624},"1",[205,639,370],{"class":611},[205,641,485],{"class":592},[205,643,644],{"class":215},"%)",[205,646,589],{"class":298},[205,648,370],{"class":396},[205,650,307],{"class":278},[205,652,654],{"class":207,"line":653},21,[205,655,656],{"class":278},"}\n",[192,658,660],{"id":659},"cdn-usage-jsdelivr","CDN Usage (jsDelivr)",[183,662,663],{},"You can load pre-trained models and the WebAssembly runtime directly from the jsDelivr CDN without bundling large binaries into your app build:",[665,666,668],"h3",{"id":667},"in-bundlers-vite-nextjs-nuxt","In Bundlers (Vite, Next.js, Nuxt)",[196,670,672],{"className":265,"code":671,"language":267,"meta":201,"style":201},"import { initialize, detectText } from '@rustors\u002Fweb';\nimport { getModelUrls } from '@rustors\u002Fmodel-ppocrv6-tiny';\n\n\u002F\u002F Automatically resolves det.onnx, rec.onnx, and dict.txt from jsDelivr\nconst urls = getModelUrls('https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fmodel-ppocrv6-tiny');\n\nawait initialize({\n  preset: 'ppv6',\n  wasmUrl: 'https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fweb\u002Fdist\u002Fwasm\u002Frusto_rten_wasm_bg.wasm',\n  models: {\n    detection: urls.detection,\n    recognition: urls.recognition,\n    dictionary: urls.dictionary,\n  },\n});\n\nconst results = await detectText(imageFile);\n",[187,673,674,698,718,722,727,750,754,764,778,794,802,816,830,844,848,856,860],{"__ignoreMap":201},[205,675,676,678,680,682,684,686,688,690,692,694,696],{"class":207,"line":208},[205,677,275],{"class":274},[205,679,279],{"class":278},[205,681,283],{"class":282},[205,683,286],{"class":278},[205,685,289],{"class":282},[205,687,292],{"class":278},[205,689,295],{"class":274},[205,691,299],{"class":298},[205,693,189],{"class":215},[205,695,304],{"class":298},[205,697,307],{"class":278},[205,699,700,702,704,706,708,710,712,714,716],{"class":207,"line":225},[205,701,275],{"class":274},[205,703,279],{"class":278},[205,705,316],{"class":282},[205,707,292],{"class":278},[205,709,295],{"class":274},[205,711,299],{"class":298},[205,713,325],{"class":215},[205,715,304],{"class":298},[205,717,307],{"class":278},[205,719,720],{"class":207,"line":232},[205,721,335],{"emptyLinePlaceholder":334},[205,723,724],{"class":207,"line":245},[205,725,726],{"class":228},"\u002F\u002F Automatically resolves det.onnx, rec.onnx, and dict.txt from jsDelivr\n",[205,728,729,731,733,735,737,739,741,744,746,748],{"class":207,"line":250},[205,730,346],{"class":345},[205,732,350],{"class":349},[205,734,354],{"class":353},[205,736,316],{"class":357},[205,738,360],{"class":282},[205,740,304],{"class":298},[205,742,743],{"class":215},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fmodel-ppocrv6-tiny",[205,745,304],{"class":298},[205,747,370],{"class":282},[205,749,307],{"class":278},[205,751,752],{"class":207,"line":375},[205,753,335],{"emptyLinePlaceholder":334},[205,755,756,758,760,762],{"class":207,"line":380},[205,757,383],{"class":274},[205,759,283],{"class":357},[205,761,360],{"class":282},[205,763,390],{"class":278},[205,765,766,768,770,772,774,776],{"class":207,"line":393},[205,767,397],{"class":396},[205,769,400],{"class":278},[205,771,299],{"class":298},[205,773,405],{"class":215},[205,775,304],{"class":298},[205,777,410],{"class":278},[205,779,780,783,785,787,790,792],{"class":207,"line":413},[205,781,782],{"class":396},"  wasmUrl",[205,784,400],{"class":278},[205,786,299],{"class":298},[205,788,789],{"class":215},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fweb\u002Fdist\u002Fwasm\u002Frusto_rten_wasm_bg.wasm",[205,791,304],{"class":298},[205,793,410],{"class":278},[205,795,796,798,800],{"class":207,"line":424},[205,797,416],{"class":396},[205,799,400],{"class":278},[205,801,421],{"class":278},[205,803,804,806,808,810,812,814],{"class":207,"line":442},[205,805,427],{"class":396},[205,807,400],{"class":278},[205,809,350],{"class":282},[205,811,434],{"class":278},[205,813,437],{"class":282},[205,815,410],{"class":278},[205,817,818,820,822,824,826,828],{"class":207,"line":459},[205,819,445],{"class":396},[205,821,400],{"class":278},[205,823,350],{"class":282},[205,825,434],{"class":278},[205,827,454],{"class":282},[205,829,410],{"class":278},[205,831,832,834,836,838,840,842],{"class":207,"line":476},[205,833,462],{"class":396},[205,835,400],{"class":278},[205,837,350],{"class":282},[205,839,434],{"class":278},[205,841,471],{"class":282},[205,843,410],{"class":278},[205,845,846],{"class":207,"line":482},[205,847,479],{"class":278},[205,849,850,852,854],{"class":207,"line":492},[205,851,485],{"class":278},[205,853,370],{"class":282},[205,855,307],{"class":278},[205,857,858],{"class":207,"line":497},[205,859,335],{"emptyLinePlaceholder":334},[205,861,862,864,866,868,870,872,875],{"class":207,"line":503},[205,863,346],{"class":345},[205,865,508],{"class":349},[205,867,354],{"class":353},[205,869,513],{"class":274},[205,871,289],{"class":357},[205,873,874],{"class":282},"(imageFile)",[205,876,307],{"class":278},[665,878,880],{"id":879},"vanilla-html-browser-es-modules","Vanilla HTML \u002F Browser ES Modules",[183,882,883],{},"No build step or bundler required:",[196,885,889],{"className":886,"code":887,"language":888,"meta":201,"style":201},"language-html shiki shiki-themes material-theme-lighter github-light github-dark monokai","\u003Cscript type=\"module\">\n  import { initialize, detectText } from 'https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fweb\u002F+esm';\n  import { getModelUrls } from 'https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fmodel-ppocrv6-tiny\u002F+esm';\n\n  const urls = getModelUrls('https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fmodel-ppocrv6-tiny');\n\n  await initialize({\n    preset: 'ppv6',\n    wasmUrl: 'https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fweb\u002Fdist\u002Fwasm\u002Frusto_rten_wasm_bg.wasm',\n    models: {\n      detection: urls.detection,\n      recognition: urls.recognition,\n      dictionary: urls.dictionary,\n    },\n  });\n\n  const results = await detectText('https:\u002F\u002Fexample.com\u002Fsample-receipt.jpg');\n  console.log('Detected items:', results);\n\u003C\u002Fscript>\n","html",[187,890,891,918,944,965,969,992,996,1007,1022,1037,1046,1061,1076,1091,1096,1105,1109,1134,1158],{"__ignoreMap":201},[205,892,893,896,900,904,907,910,913,915],{"class":207,"line":208},[205,894,895],{"class":278},"\u003C",[205,897,899],{"class":898},"sHsBP","script",[205,901,903],{"class":902},"s_lYk"," type",[205,905,906],{"class":278},"=",[205,908,909],{"class":298},"\"",[205,911,912],{"class":215},"module",[205,914,909],{"class":298},[205,916,917],{"class":278},">\n",[205,919,920,923,925,927,929,931,933,935,937,940,942],{"class":207,"line":225},[205,921,922],{"class":274},"  import",[205,924,279],{"class":278},[205,926,283],{"class":282},[205,928,286],{"class":278},[205,930,289],{"class":282},[205,932,292],{"class":278},[205,934,295],{"class":274},[205,936,299],{"class":298},[205,938,939],{"class":215},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fweb\u002F+esm",[205,941,304],{"class":298},[205,943,307],{"class":278},[205,945,946,948,950,952,954,956,958,961,963],{"class":207,"line":232},[205,947,922],{"class":274},[205,949,279],{"class":278},[205,951,316],{"class":282},[205,953,292],{"class":278},[205,955,295],{"class":274},[205,957,299],{"class":298},[205,959,960],{"class":215},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@rustors\u002Fmodel-ppocrv6-tiny\u002F+esm",[205,962,304],{"class":298},[205,964,307],{"class":278},[205,966,967],{"class":207,"line":245},[205,968,335],{"emptyLinePlaceholder":334},[205,970,971,974,976,978,980,982,984,986,988,990],{"class":207,"line":250},[205,972,973],{"class":345},"  const",[205,975,350],{"class":349},[205,977,354],{"class":353},[205,979,316],{"class":357},[205,981,360],{"class":282},[205,983,304],{"class":298},[205,985,743],{"class":215},[205,987,304],{"class":298},[205,989,370],{"class":282},[205,991,307],{"class":278},[205,993,994],{"class":207,"line":375},[205,995,335],{"emptyLinePlaceholder":334},[205,997,998,1001,1003,1005],{"class":207,"line":380},[205,999,1000],{"class":274},"  await",[205,1002,283],{"class":357},[205,1004,360],{"class":282},[205,1006,390],{"class":278},[205,1008,1009,1012,1014,1016,1018,1020],{"class":207,"line":393},[205,1010,1011],{"class":396},"    preset",[205,1013,400],{"class":278},[205,1015,299],{"class":298},[205,1017,405],{"class":215},[205,1019,304],{"class":298},[205,1021,410],{"class":278},[205,1023,1024,1027,1029,1031,1033,1035],{"class":207,"line":413},[205,1025,1026],{"class":396},"    wasmUrl",[205,1028,400],{"class":278},[205,1030,299],{"class":298},[205,1032,789],{"class":215},[205,1034,304],{"class":298},[205,1036,410],{"class":278},[205,1038,1039,1042,1044],{"class":207,"line":424},[205,1040,1041],{"class":396},"    models",[205,1043,400],{"class":278},[205,1045,421],{"class":278},[205,1047,1048,1051,1053,1055,1057,1059],{"class":207,"line":442},[205,1049,1050],{"class":396},"      detection",[205,1052,400],{"class":278},[205,1054,350],{"class":282},[205,1056,434],{"class":278},[205,1058,437],{"class":282},[205,1060,410],{"class":278},[205,1062,1063,1066,1068,1070,1072,1074],{"class":207,"line":459},[205,1064,1065],{"class":396},"      recognition",[205,1067,400],{"class":278},[205,1069,350],{"class":282},[205,1071,434],{"class":278},[205,1073,454],{"class":282},[205,1075,410],{"class":278},[205,1077,1078,1081,1083,1085,1087,1089],{"class":207,"line":476},[205,1079,1080],{"class":396},"      dictionary",[205,1082,400],{"class":278},[205,1084,350],{"class":282},[205,1086,434],{"class":278},[205,1088,471],{"class":282},[205,1090,410],{"class":278},[205,1092,1093],{"class":207,"line":482},[205,1094,1095],{"class":278},"    },\n",[205,1097,1098,1101,1103],{"class":207,"line":492},[205,1099,1100],{"class":278},"  }",[205,1102,370],{"class":282},[205,1104,307],{"class":278},[205,1106,1107],{"class":207,"line":497},[205,1108,335],{"emptyLinePlaceholder":334},[205,1110,1111,1113,1115,1117,1119,1121,1123,1125,1128,1130,1132],{"class":207,"line":503},[205,1112,973],{"class":345},[205,1114,508],{"class":349},[205,1116,354],{"class":353},[205,1118,513],{"class":274},[205,1120,289],{"class":357},[205,1122,360],{"class":282},[205,1124,304],{"class":298},[205,1126,1127],{"class":215},"https:\u002F\u002Fexample.com\u002Fsample-receipt.jpg",[205,1129,304],{"class":298},[205,1131,370],{"class":282},[205,1133,307],{"class":278},[205,1135,1136,1138,1140,1142,1144,1146,1149,1151,1153,1156],{"class":207,"line":549},[205,1137,579],{"class":282},[205,1139,434],{"class":278},[205,1141,584],{"class":357},[205,1143,360],{"class":282},[205,1145,304],{"class":298},[205,1147,1148],{"class":215},"Detected items:",[205,1150,304],{"class":298},[205,1152,286],{"class":278},[205,1154,1155],{"class":282}," results)",[205,1157,307],{"class":278},[205,1159,1160,1163,1165],{"class":207,"line":554},[205,1161,1162],{"class":278},"\u003C\u002F",[205,1164,899],{"class":898},[205,1166,917],{"class":278},[192,1168,1170],{"id":1169},"supported-image-sources","Supported Image Sources",[183,1172,1173,1175],{},[187,1174,189],{}," accepts:",[1177,1178,1179,1190,1196,1212,1221],"ul",{},[1180,1181,1182,1183,1186,1187,370],"li",{},"Image URLs (e.g. ",[187,1184,1185],{},"'https:\u002F\u002Fexample.com\u002Freceipt.jpg'"," or ",[187,1188,1189],{},"'\u002Fsamples\u002Fdoc.png'",[1180,1191,1192,1193,370],{},"Base64 data strings (",[187,1194,1195],{},"'data:image\u002Fjpeg;base64,...'",[1180,1197,1198,1199,1202,1203,1202,1206,1202,1209],{},"DOM Elements: ",[187,1200,1201],{},"HTMLImageElement",", ",[187,1204,1205],{},"HTMLCanvasElement",[187,1207,1208],{},"ImageData",[187,1210,1211],{},"ImageBitmap",[1180,1213,1214,1215,1202,1218],{},"User files: ",[187,1216,1217],{},"File",[187,1219,1220],{},"Blob",[1180,1222,1223,1224,1202,1227,1202,1230],{},"In-memory bytes: ",[187,1225,1226],{},"Uint8Array",[187,1228,1229],{},"ArrayBuffer",[187,1231,1232],{},"{ bytes: Uint8Array }",[192,1234,1236],{"id":1235},"output-granularity","Output Granularity",[196,1238,1240],{"className":265,"code":1239,"language":267,"meta":201,"style":201},"\u002F\u002F Lines (default): row-grouped candidates\nconst lines = await detectText(imageFile, { output: 'lines' });\n\n\u002F\u002F Words: individual word-level tokens\nconst words = await detectText(imageFile, { output: 'words' });\n\n\u002F\u002F Spatial: formatted text with layout spacing and newlines preserved\nconst spatialText = await detectText(imageFile, { output: 'spatial' });\nconsole.log(spatialText);\n",[187,1241,1242,1247,1285,1289,1294,1330,1334,1339,1375],{"__ignoreMap":201},[205,1243,1244],{"class":207,"line":208},[205,1245,1246],{"class":228},"\u002F\u002F Lines (default): row-grouped candidates\n",[205,1248,1249,1251,1254,1256,1258,1260,1263,1265,1267,1270,1272,1274,1277,1279,1281,1283],{"class":207,"line":225},[205,1250,346],{"class":345},[205,1252,1253],{"class":349}," lines",[205,1255,354],{"class":353},[205,1257,513],{"class":274},[205,1259,289],{"class":357},[205,1261,1262],{"class":282},"(imageFile",[205,1264,286],{"class":278},[205,1266,279],{"class":278},[205,1268,1269],{"class":396}," output",[205,1271,400],{"class":278},[205,1273,299],{"class":298},[205,1275,1276],{"class":215},"lines",[205,1278,304],{"class":298},[205,1280,292],{"class":278},[205,1282,370],{"class":282},[205,1284,307],{"class":278},[205,1286,1287],{"class":207,"line":232},[205,1288,335],{"emptyLinePlaceholder":334},[205,1290,1291],{"class":207,"line":245},[205,1292,1293],{"class":228},"\u002F\u002F Words: individual word-level tokens\n",[205,1295,1296,1298,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1322,1324,1326,1328],{"class":207,"line":250},[205,1297,346],{"class":345},[205,1299,1300],{"class":349}," words",[205,1302,354],{"class":353},[205,1304,513],{"class":274},[205,1306,289],{"class":357},[205,1308,1262],{"class":282},[205,1310,286],{"class":278},[205,1312,279],{"class":278},[205,1314,1269],{"class":396},[205,1316,400],{"class":278},[205,1318,299],{"class":298},[205,1320,1321],{"class":215},"words",[205,1323,304],{"class":298},[205,1325,292],{"class":278},[205,1327,370],{"class":282},[205,1329,307],{"class":278},[205,1331,1332],{"class":207,"line":375},[205,1333,335],{"emptyLinePlaceholder":334},[205,1335,1336],{"class":207,"line":380},[205,1337,1338],{"class":228},"\u002F\u002F Spatial: formatted text with layout spacing and newlines preserved\n",[205,1340,1341,1343,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1367,1369,1371,1373],{"class":207,"line":393},[205,1342,346],{"class":345},[205,1344,1345],{"class":349}," spatialText",[205,1347,354],{"class":353},[205,1349,513],{"class":274},[205,1351,289],{"class":357},[205,1353,1262],{"class":282},[205,1355,286],{"class":278},[205,1357,279],{"class":278},[205,1359,1269],{"class":396},[205,1361,400],{"class":278},[205,1363,299],{"class":298},[205,1365,1366],{"class":215},"spatial",[205,1368,304],{"class":298},[205,1370,292],{"class":278},[205,1372,370],{"class":282},[205,1374,307],{"class":278},[205,1376,1377,1380,1382,1384,1387],{"class":207,"line":413},[205,1378,1379],{"class":282},"console",[205,1381,434],{"class":278},[205,1383,584],{"class":357},[205,1385,1386],{"class":282},"(spatialText)",[205,1388,307],{"class":278},[192,1390,1392],{"id":1391},"content-security-policy-csp","Content Security Policy (CSP)",[183,1394,1395],{},"If your web application deploys strict HTTP Content Security Policy headers, configure these directives:",[196,1397,1401],{"className":1398,"code":1399,"language":1400,"meta":201,"style":201},"language-http shiki shiki-themes material-theme-lighter github-light github-dark monokai","Content-Security-Policy:\n  default-src 'self';\n  script-src 'self' 'wasm-unsafe-eval' https:\u002F\u002Fcdn.jsdelivr.net;\n  connect-src 'self' https:\u002F\u002Fcdn.jsdelivr.net blob:;\n  worker-src 'self' blob:;\n  img-src 'self' data: blob:;\n","http",[187,1402,1403,1408,1413,1418,1423,1428],{"__ignoreMap":201},[205,1404,1405],{"class":207,"line":208},[205,1406,1407],{},"Content-Security-Policy:\n",[205,1409,1410],{"class":207,"line":225},[205,1411,1412],{},"  default-src 'self';\n",[205,1414,1415],{"class":207,"line":232},[205,1416,1417],{},"  script-src 'self' 'wasm-unsafe-eval' https:\u002F\u002Fcdn.jsdelivr.net;\n",[205,1419,1420],{"class":207,"line":245},[205,1421,1422],{},"  connect-src 'self' https:\u002F\u002Fcdn.jsdelivr.net blob:;\n",[205,1424,1425],{"class":207,"line":250},[205,1426,1427],{},"  worker-src 'self' blob:;\n",[205,1429,1430],{"class":207,"line":375},[205,1431,1432],{},"  img-src 'self' data: blob:;\n",[1177,1434,1435,1444,1464,1475],{},[1180,1436,1437,1443],{},[1438,1439,1440],"strong",{},[187,1441,1442],{},"script-src 'wasm-unsafe-eval'",": Enables browser runtime compilation of WebAssembly binaries.",[1180,1445,1446,1451,1452,1455,1456,1459,1460,1463],{},[1438,1447,1448],{},[187,1449,1450],{},"connect-src https:\u002F\u002Fcdn.jsdelivr.net blob:",": Permits downloading ",[187,1453,1454],{},".wasm"," and ",[187,1457,1458],{},".rten"," \u002F ",[187,1461,1462],{},".onnx"," model files from the CDN or local blob stores.",[1180,1465,1466,1471,1472,1474],{},[1438,1467,1468],{},[187,1469,1470],{},"worker-src 'self' blob:",": Required because ",[187,1473,189],{}," executes inference in non-blocking Web Workers by default.",[1180,1476,1477,1482],{},[1438,1478,1479],{},[187,1480,1481],{},"img-src 'self' data: blob:",": Allows reading images from local file previews or base64 streams.",[1484,1485,1486],"style",{},"html pre.shiki code .sR7ES, html code.shiki .sR7ES{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .ss7Ak, html code.shiki .ss7Ak{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit;--shiki-sepia:#88846F;--shiki-sepia-font-style:inherit}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 .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .sRxSC, html code.shiki .sRxSC{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#F92672;--shiki-sepia-font-style:inherit}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .srJo8, html code.shiki .srJo8{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .s91G_, html code.shiki .s91G_{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#F8F8F2}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .squCx, html code.shiki .squCx{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sKvfc, html code.shiki .sKvfc{--shiki-light:#E2931D;--shiki-light-text-decoration:inherit;--shiki-default:#6F42C1;--shiki-default-text-decoration:inherit;--shiki-dark:#B392F0;--shiki-dark-text-decoration:inherit;--shiki-sepia:#A6E22E;--shiki-sepia-text-decoration:underline}html pre.shiki code .slF1C, html code.shiki .slF1C{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#F92672}html pre.shiki code .s00De, html code.shiki .s00De{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#F8F8F2}html pre.shiki code .s-euU, html code.shiki .s-euU{--shiki-light:#90A4AE;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#F8F8F2}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sHsBP, html code.shiki .sHsBP{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-sepia:#F92672}html pre.shiki code .s_lYk, html code.shiki .s_lYk{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}",{"title":201,"searchDepth":225,"depth":225,"links":1488},[1489,1490,1491,1495,1496,1497],{"id":194,"depth":225,"text":15},{"id":262,"depth":225,"text":20},{"id":659,"depth":225,"text":660,"children":1492},[1493,1494],{"id":667,"depth":232,"text":668},{"id":879,"depth":232,"text":880},{"id":1169,"depth":225,"text":1170},{"id":1235,"depth":225,"text":1236},{"id":1391,"depth":225,"text":1392},"Integrating @rustors\u002Fweb in browser and client-side applications.","md",null,{},{"icon":74},{"title":1504,"description":1498},"Use Web - RustO!","s6R8g4nubECZ3AqzarnGOQFpqnMnVt28rptOd63-XB8",[1507,1509],{"title":66,"path":67,"stem":68,"description":1508,"icon":69,"children":-1},"Command line interface usage, batch processing, and output formatting options for RustO!.",{"title":76,"path":77,"stem":78,"description":1510,"icon":49,"children":-1},"Integrating @rustors\u002Freact hooks, provider, and overlay components.",1792905888204]