[{"data":1,"prerenderedAt":2064},["ShallowReactive",2],{"navigation_docs_id":3,"-id-how-to-use-csharp":173,"-id-how-to-use-csharp-surround":2059},[4,30,109,153],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fid\u002Fgetting-started","id\u002F01.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Pengenalan","\u002Fid\u002Fgetting-started\u002Fintroduction","id\u002F01.getting-started\u002F1.introduction","i-ph-rocket",{"title":15,"path":16,"stem":17,"icon":18},"Instalasi","\u002Fid\u002Fgetting-started\u002Finstallation","id\u002F01.getting-started\u002F2.installation","i-ph-download",{"title":20,"path":21,"stem":22,"icon":23},"Panduan Cepat","\u002Fid\u002Fgetting-started\u002Fquick-start","id\u002F01.getting-started\u002F3.quick-start","i-ph-play",{"title":25,"path":26,"stem":27,"icon":28},"Demo Langsung","\u002Fid\u002Fgetting-started\u002Flive-demo","id\u002F01.getting-started\u002F4.live-demo","i-ph-sparkle",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"How To","\u002Fid\u002Fhow-to","id\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},"Menggunakan Rust","\u002Fid\u002Fhow-to\u002Fuse-rust","id\u002F02.how-to\u002F00.use-rust","simple-icons-rust",{"title":41,"path":42,"stem":43,"icon":44},"Menggunakan .NET \u002F C#","\u002Fid\u002Fhow-to\u002Fuse-csharp","id\u002F02.how-to\u002F01.use-csharp","simple-icons-dotnet",{"title":46,"path":47,"stem":48,"icon":49},"Menggunakan React Native","\u002Fid\u002Fhow-to\u002Fuse-react-native","id\u002F02.how-to\u002F02.use-react-native","simple-icons-react",{"title":51,"path":52,"stem":53,"icon":54},"Menggunakan iOS (Swift)","\u002Fid\u002Fhow-to\u002Fuse-ios-swift","id\u002F02.how-to\u002F03.use-ios-swift","simple-icons-apple",{"title":56,"path":57,"stem":58,"icon":59},"Menggunakan Android (Kotlin)","\u002Fid\u002Fhow-to\u002Fuse-android-kotlin","id\u002F02.how-to\u002F04.use-android-kotlin","simple-icons-android",{"title":61,"path":62,"stem":63,"icon":64},"Menggunakan C FFI","\u002Fid\u002Fhow-to\u002Fuse-c-ffi","id\u002F02.how-to\u002F05.use-c-ffi","simple-icons-c",{"title":66,"path":67,"stem":68,"icon":69},"Menggunakan CLI","\u002Fid\u002Fhow-to\u002Fuse-cli","id\u002F02.how-to\u002F06.use-cli","simple-icons-gnubash",{"title":71,"path":72,"stem":73,"icon":74},"Menggunakan Web","\u002Fid\u002Fhow-to\u002Fuse-web","id\u002F02.how-to\u002F07.use-web","simple-icons-javascript",{"title":76,"path":77,"stem":78,"icon":49},"Menggunakan React","\u002Fid\u002Fhow-to\u002Fuse-react","id\u002F02.how-to\u002F08.use-react",{"title":80,"path":81,"stem":82,"icon":83},"Menggunakan Node.js","\u002Fid\u002Fhow-to\u002Fuse-node","id\u002F02.how-to\u002F09.use-node","simple-icons-nodedotjs",{"title":85,"path":86,"stem":87,"icon":88},"Menggunakan Python","\u002Fid\u002Fhow-to\u002Fuse-python","id\u002F02.how-to\u002F10.use-python","simple-icons-python",{"title":90,"path":91,"stem":92,"icon":93},"Menggunakan Golang","\u002Fid\u002Fhow-to\u002Fuse-golang","id\u002F02.how-to\u002F11.use-golang","simple-icons-go",{"title":95,"path":96,"stem":97,"icon":98},"Menggunakan Java & JVM","\u002Fid\u002Fhow-to\u002Fuse-java","id\u002F02.how-to\u002F12.use-java","simple-icons-openjdk",{"title":100,"path":101,"stem":102,"icon":103},"Menggunakan Flutter & Dart","\u002Fid\u002Fhow-to\u002Fuse-flutter","id\u002F02.how-to\u002F13.use-flutter","simple-icons-flutter",{"title":105,"path":106,"stem":107,"icon":108},"Menggunakan Input RGB Terdekode","\u002Fid\u002Fhow-to\u002Fuse-decoded-rgb","id\u002F02.how-to\u002F14.use-decoded-rgb","lucide-image",{"title":110,"path":111,"stem":112,"children":113,"page":29},"Advance Guide","\u002Fid\u002Fadvance-guide","id\u002F03.advance-guide",[114,119,124,129,134,139,144,149],{"title":115,"path":116,"stem":117,"icon":118},"Model & Tingkatan (Tiers)","\u002Fid\u002Fadvance-guide\u002Fmodels-and-tiers","id\u002F03.advance-guide\u002F01.models-and-tiers","i-ph-cube",{"title":120,"path":121,"stem":122,"icon":123},"OCR Multibahasa","\u002Fid\u002Fadvance-guide\u002Fmultilingual-ocr","id\u002F03.advance-guide\u002F02.multilingual-ocr","i-ph-translate",{"title":125,"path":126,"stem":127,"icon":128},"Rekonstruksi Tata Letak Spasial","\u002Fid\u002Fadvance-guide\u002Fspatial-layout-reconstruction","id\u002F03.advance-guide\u002F03.spatial-layout-reconstruction","i-ph-layout",{"title":130,"path":131,"stem":132,"icon":133},"Pra-pemrosesan & Tuning Gambar","\u002Fid\u002Fadvance-guide\u002Fimage-preprocessing-and-tuning","id\u002F03.advance-guide\u002F04.image-preprocessing-and-tuning","i-ph-sliders",{"title":135,"path":136,"stem":137,"icon":138},"Klasifikasi & Orientasi","\u002Fid\u002Fadvance-guide\u002Fclassification-and-orientation","id\u002F03.advance-guide\u002F05.classification-and-orientation","i-ph-arrows-clockwise",{"title":140,"path":141,"stem":142,"icon":143},"Performa & Tolok Ukur (Benchmarks)","\u002Fid\u002Fadvance-guide\u002Fperformance-and-benchmarks","id\u002F03.advance-guide\u002F06.performance-and-benchmarks","i-ph-chart-line-up",{"title":145,"path":146,"stem":147,"icon":148},"Pemecahan Masalah (Troubleshooting)","\u002Fid\u002Fadvance-guide\u002Ftroubleshooting","id\u002F03.advance-guide\u002F07.troubleshooting","i-ph-wrench",{"title":150,"path":151,"stem":152,"icon":138},"v0.2 ke v0.3","\u002Fid\u002Fadvance-guide\u002Fmigration-guide","id\u002F03.advance-guide\u002F08.migration-guide",{"title":154,"path":155,"stem":156,"children":157,"page":29},"Api Reference","\u002Fid\u002Fapi-reference","id\u002F04.api-reference",[158,163,168],{"title":159,"path":160,"stem":161,"icon":162},"InitializeConfig","\u002Fid\u002Fapi-reference\u002Finitialize-config","id\u002F04.api-reference\u002F01.initialize-config","i-ph-code-block",{"title":164,"path":165,"stem":166,"icon":167},"OcrRunOptions","\u002Fid\u002Fapi-reference\u002Focr-run-options","id\u002F04.api-reference\u002F02.ocr-run-options","i-ph-faders",{"title":169,"path":170,"stem":171,"icon":172},"TextResult & Mode Keluaran","\u002Fid\u002Fapi-reference\u002Ftext-result-and-output","id\u002F04.api-reference\u002F03.text-result-and-output","i-ph-textbox",{"id":174,"title":41,"body":175,"description":2051,"extension":2052,"links":2053,"meta":2054,"navigation":2055,"path":42,"seo":2056,"stem":43,"__hash__":2058},"docs_id\u002Fid\u002F02.how-to\u002F01.use-csharp.md",{"type":176,"value":177,"toc":2039},"minimark",[178,205,209,212,240,243,259,262,266,284,556,558,565,568,752,754,758,764,880,882,886,891,1260,1265,1273,1275,1279,1491,1494,1500,1502,1506,2035],[179,180,181,182,186,187,190,191,194,195,190,197,199,200,190,202,204],"p",{},"Paket NuGet ",[183,184,185],"code",{},"RustODotnet"," menyediakan binding C# berkinerja tinggi dan menyertakan runtime native bawaan untuk Windows (",[183,188,189],{},"x64",", ",[183,192,193],{},"arm64","), Linux (",[183,196,189],{},[183,198,193],{},"), dan macOS (",[183,201,189],{},[183,203,193],{},").",[206,207,15],"h2",{"id":208},"instalasi",[179,210,211],{},"Pasang paket inti dari NuGet:",[213,214,219],"pre",{"className":215,"code":216,"language":217,"meta":218,"style":218},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","dotnet add package RustODotnet\n","bash","",[183,220,221],{"__ignoreMap":218},[222,223,226,230,234,237],"span",{"class":224,"line":225},"line",1,[222,227,229],{"class":228},"sR7ES","dotnet",[222,231,233],{"class":232},"sLACW"," add",[222,235,236],{"class":232}," package",[222,238,239],{"class":232}," RustODotnet\n",[179,241,242],{},"Opsional: pasang paket model resmi untuk menyertakan aset model secara otomatis tanpa konfigurasi manual:",[213,244,246],{"className":215,"code":245,"language":217,"meta":218,"style":218},"dotnet add package RustODotnet.Models.PPOCRv6.Tiny\n",[183,247,248],{"__ignoreMap":218},[222,249,250,252,254,256],{"class":224,"line":225},[222,251,229],{"class":228},[222,253,233],{"class":232},[222,255,236],{"class":232},[222,257,258],{"class":232}," RustODotnet.Models.PPOCRv6.Tiny\n",[260,261],"hr",{},[206,263,265],{"id":264},"_1-siklus-hidup-mesin-inisialisasi","1. Siklus Hidup Mesin & Inisialisasi",[179,267,268,271,272,275,276,279,280,283],{},[183,269,270],{},"RustO"," mengelola pointer memori native unmanaged melalui ",[183,273,274],{},"IDisposable",". Selalu gunakan pernyataan ",[183,277,278],{},"using"," atau lakukan ",[183,281,282],{},"Dispose()"," saat instans tidak lagi digunakan:",[213,285,289],{"className":286,"code":287,"language":288,"meta":218,"style":218},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark monokai","using System;\nusing RustODotnet;\n\n\u002F\u002F 1. Inisialisasi menggunakan model bawaan default PP-OCRv6\nusing var ocr = RustO.Initialize();\n\n\u002F\u002F Atau tentukan path model kustom secara eksplisit:\nvar customConfig = new InitializeConfig\n{\n    Template = \"ppv6\",\n    Detection = new DetectionConfig { ModelPath = \"models\u002Fdet.rten\", LimitSideLen = 736 },\n    Recognition = new RecognitionConfig\n    {\n        ModelPath = \"models\u002Frec.rten\",\n        DictPath = \"models\u002Fdict.txt\"\n    }\n};\n\nusing var customOcr = RustO.Initialize(customConfig);\n","csharp",[183,290,291,304,314,321,328,360,365,371,389,395,417,460,473,479,496,512,518,524,529],{"__ignoreMap":218},[222,292,293,296,300],{"class":224,"line":225},[222,294,278],{"class":295},"shWJe",[222,297,299],{"class":298},"sM5v9"," System",[222,301,303],{"class":302},"swvn1",";\n",[222,305,307,309,312],{"class":224,"line":306},2,[222,308,278],{"class":295},[222,310,311],{"class":298}," RustODotnet",[222,313,303],{"class":302},[222,315,317],{"class":224,"line":316},3,[222,318,320],{"emptyLinePlaceholder":319},true,"\n",[222,322,324],{"class":224,"line":323},4,[222,325,327],{"class":326},"ss7Ak","\u002F\u002F 1. Inisialisasi menggunakan model bawaan default PP-OCRv6\n",[222,329,331,334,338,342,346,350,353,357],{"class":224,"line":330},5,[222,332,278],{"class":333},"sRxSC",[222,335,337],{"class":336},"sQHqT"," var",[222,339,341],{"class":340},"sQqfL"," ocr",[222,343,345],{"class":344},"sGXK2"," =",[222,347,349],{"class":348},"ss--_"," RustO",[222,351,352],{"class":302},".",[222,354,356],{"class":355},"sD0ED","Initialize",[222,358,359],{"class":302},"();\n",[222,361,363],{"class":224,"line":362},6,[222,364,320],{"emptyLinePlaceholder":319},[222,366,368],{"class":224,"line":367},7,[222,369,370],{"class":326},"\u002F\u002F Atau tentukan path model kustom secara eksplisit:\n",[222,372,374,377,380,382,385],{"class":224,"line":373},8,[222,375,376],{"class":336},"var",[222,378,379],{"class":340}," customConfig",[222,381,345],{"class":344},[222,383,384],{"class":344}," new",[222,386,388],{"class":387},"sKvfc"," InitializeConfig\n",[222,390,392],{"class":224,"line":391},9,[222,393,394],{"class":302},"{\n",[222,396,398,401,404,408,411,414],{"class":224,"line":397},10,[222,399,400],{"class":348},"    Template ",[222,402,403],{"class":344},"=",[222,405,407],{"class":406},"siCPE"," \"",[222,409,410],{"class":232},"ppv6",[222,412,413],{"class":406},"\"",[222,415,416],{"class":302},",\n",[222,418,420,423,425,427,430,433,436,438,440,443,445,448,451,453,457],{"class":224,"line":419},11,[222,421,422],{"class":348},"    Detection ",[222,424,403],{"class":344},[222,426,384],{"class":344},[222,428,429],{"class":387}," DetectionConfig",[222,431,432],{"class":302}," {",[222,434,435],{"class":348}," ModelPath ",[222,437,403],{"class":344},[222,439,407],{"class":406},[222,441,442],{"class":232},"models\u002Fdet.rten",[222,444,413],{"class":406},[222,446,447],{"class":302},",",[222,449,450],{"class":348}," LimitSideLen ",[222,452,403],{"class":344},[222,454,456],{"class":455},"sYThS"," 736",[222,458,459],{"class":302}," },\n",[222,461,463,466,468,470],{"class":224,"line":462},12,[222,464,465],{"class":348},"    Recognition ",[222,467,403],{"class":344},[222,469,384],{"class":344},[222,471,472],{"class":387}," RecognitionConfig\n",[222,474,476],{"class":224,"line":475},13,[222,477,478],{"class":302},"    {\n",[222,480,482,485,487,489,492,494],{"class":224,"line":481},14,[222,483,484],{"class":348},"        ModelPath ",[222,486,403],{"class":344},[222,488,407],{"class":406},[222,490,491],{"class":232},"models\u002Frec.rten",[222,493,413],{"class":406},[222,495,416],{"class":302},[222,497,499,502,504,506,509],{"class":224,"line":498},15,[222,500,501],{"class":348},"        DictPath ",[222,503,403],{"class":344},[222,505,407],{"class":406},[222,507,508],{"class":232},"models\u002Fdict.txt",[222,510,511],{"class":406},"\"\n",[222,513,515],{"class":224,"line":514},16,[222,516,517],{"class":302},"    }\n",[222,519,521],{"class":224,"line":520},17,[222,522,523],{"class":302},"};\n",[222,525,527],{"class":224,"line":526},18,[222,528,320],{"emptyLinePlaceholder":319},[222,530,532,534,536,539,541,543,545,547,550,553],{"class":224,"line":531},19,[222,533,278],{"class":333},[222,535,337],{"class":336},[222,537,538],{"class":340}," customOcr",[222,540,345],{"class":344},[222,542,349],{"class":348},[222,544,352],{"class":302},[222,546,356],{"class":355},[222,548,549],{"class":302},"(",[222,551,552],{"class":348},"customConfig",[222,554,555],{"class":302},");\n",[260,557],{},[206,559,561,562,564],{"id":560},"_2-opsi-permintaan-lokal-ocrrunoptions","2. Opsi Permintaan Lokal (",[183,563,164],{},")",[179,566,567],{},"Konfigurasikan opsi per panggilan deteksi tanpa perlu mengalokasikan ulang sesi inferensi:",[213,569,571],{"className":286,"code":570,"language":288,"meta":218,"style":218},"var options = new OcrRunOptions\n{\n    Output = OutputGranularity.Lines, \u002F\u002F Lines, Words, atau Spatial\n    LineYThreshold = 0.5f,\n    WordXThreshold = 0.4f,\n    TextScore = 0.55f,\n    MaxSideLen = 1600f,\n    Detection = new DetectionRunOptions\n    {\n        LimitSideLen = 960,\n        LimitType = \"max\"\n    },\n    Postprocess = new PostprocessRunOptions\n    {\n        UseDilation = true,\n        UnclipRatio = 2.0f\n    }\n};\n",[183,572,573,587,591,611,623,635,647,659,670,674,686,700,705,717,721,734,744,748],{"__ignoreMap":218},[222,574,575,577,580,582,584],{"class":224,"line":225},[222,576,376],{"class":336},[222,578,579],{"class":340}," options",[222,581,345],{"class":344},[222,583,384],{"class":344},[222,585,586],{"class":387}," OcrRunOptions\n",[222,588,589],{"class":224,"line":306},[222,590,394],{"class":302},[222,592,593,596,598,601,603,606,608],{"class":224,"line":316},[222,594,595],{"class":348},"    Output ",[222,597,403],{"class":344},[222,599,600],{"class":348}," OutputGranularity",[222,602,352],{"class":302},[222,604,605],{"class":348},"Lines",[222,607,447],{"class":302},[222,609,610],{"class":326}," \u002F\u002F Lines, Words, atau Spatial\n",[222,612,613,616,618,621],{"class":224,"line":323},[222,614,615],{"class":348},"    LineYThreshold ",[222,617,403],{"class":344},[222,619,620],{"class":455}," 0.5f",[222,622,416],{"class":302},[222,624,625,628,630,633],{"class":224,"line":330},[222,626,627],{"class":348},"    WordXThreshold ",[222,629,403],{"class":344},[222,631,632],{"class":455}," 0.4f",[222,634,416],{"class":302},[222,636,637,640,642,645],{"class":224,"line":362},[222,638,639],{"class":348},"    TextScore ",[222,641,403],{"class":344},[222,643,644],{"class":455}," 0.55f",[222,646,416],{"class":302},[222,648,649,652,654,657],{"class":224,"line":367},[222,650,651],{"class":348},"    MaxSideLen ",[222,653,403],{"class":344},[222,655,656],{"class":455}," 1600f",[222,658,416],{"class":302},[222,660,661,663,665,667],{"class":224,"line":373},[222,662,422],{"class":348},[222,664,403],{"class":344},[222,666,384],{"class":344},[222,668,669],{"class":387}," DetectionRunOptions\n",[222,671,672],{"class":224,"line":391},[222,673,478],{"class":302},[222,675,676,679,681,684],{"class":224,"line":397},[222,677,678],{"class":348},"        LimitSideLen ",[222,680,403],{"class":344},[222,682,683],{"class":455}," 960",[222,685,416],{"class":302},[222,687,688,691,693,695,698],{"class":224,"line":419},[222,689,690],{"class":348},"        LimitType ",[222,692,403],{"class":344},[222,694,407],{"class":406},[222,696,697],{"class":232},"max",[222,699,511],{"class":406},[222,701,702],{"class":224,"line":462},[222,703,704],{"class":302},"    },\n",[222,706,707,710,712,714],{"class":224,"line":475},[222,708,709],{"class":348},"    Postprocess ",[222,711,403],{"class":344},[222,713,384],{"class":344},[222,715,716],{"class":387}," PostprocessRunOptions\n",[222,718,719],{"class":224,"line":481},[222,720,478],{"class":302},[222,722,723,726,728,732],{"class":224,"line":498},[222,724,725],{"class":348},"        UseDilation ",[222,727,403],{"class":344},[222,729,731],{"class":730},"s8HiA"," true",[222,733,416],{"class":302},[222,735,736,739,741],{"class":224,"line":514},[222,737,738],{"class":348},"        UnclipRatio ",[222,740,403],{"class":344},[222,742,743],{"class":455}," 2.0f\n",[222,745,746],{"class":224,"line":520},[222,747,517],{"class":302},[222,749,750],{"class":224,"line":526},[222,751,523],{"class":302},[260,753],{},[206,755,757],{"id":756},"_3-sumber-gambar-yang-didukung","3. Sumber Gambar yang Didukung",[179,759,760,763],{},[183,761,762],{},"ImageSource"," menerima path berkas\u002FURI atau larik byte dalam memori RAM:",[213,765,767],{"className":286,"code":766,"language":288,"meta":218,"style":218},"using System.IO;\n\n\u002F\u002F 1. Path filesystem atau file:\u002F\u002F URI\nvar uriSource = new UriImageSource(\"invoices\u002Fsample.jpg\");\n\n\u002F\u002F 2. Larik byte dalam memori (misal dari stream atau ASP.NET Core IFormFile)\nbyte[] imageBytes = await File.ReadAllBytesAsync(\"invoices\u002Fsample.jpg\");\nvar bytesSource = new BytesImageSource(imageBytes);\n",[183,768,769,782,786,791,816,820,825,859],{"__ignoreMap":218},[222,770,771,773,775,777,780],{"class":224,"line":225},[222,772,278],{"class":295},[222,774,299],{"class":298},[222,776,352],{"class":302},[222,778,779],{"class":298},"IO",[222,781,303],{"class":302},[222,783,784],{"class":224,"line":306},[222,785,320],{"emptyLinePlaceholder":319},[222,787,788],{"class":224,"line":316},[222,789,790],{"class":326},"\u002F\u002F 1. Path filesystem atau file:\u002F\u002F URI\n",[222,792,793,795,798,800,802,805,807,809,812,814],{"class":224,"line":323},[222,794,376],{"class":336},[222,796,797],{"class":340}," uriSource",[222,799,345],{"class":344},[222,801,384],{"class":344},[222,803,804],{"class":387}," UriImageSource",[222,806,549],{"class":302},[222,808,413],{"class":406},[222,810,811],{"class":232},"invoices\u002Fsample.jpg",[222,813,413],{"class":406},[222,815,555],{"class":302},[222,817,818],{"class":224,"line":330},[222,819,320],{"emptyLinePlaceholder":319},[222,821,822],{"class":224,"line":362},[222,823,824],{"class":326},"\u002F\u002F 2. Larik byte dalam memori (misal dari stream atau ASP.NET Core IFormFile)\n",[222,826,827,830,833,836,838,841,844,846,849,851,853,855,857],{"class":224,"line":367},[222,828,829],{"class":344},"byte",[222,831,832],{"class":302},"[]",[222,834,835],{"class":340}," imageBytes",[222,837,345],{"class":344},[222,839,840],{"class":344}," await",[222,842,843],{"class":348}," File",[222,845,352],{"class":302},[222,847,848],{"class":355},"ReadAllBytesAsync",[222,850,549],{"class":302},[222,852,413],{"class":406},[222,854,811],{"class":232},[222,856,413],{"class":406},[222,858,555],{"class":302},[222,860,861,863,866,868,870,873,875,878],{"class":224,"line":373},[222,862,376],{"class":336},[222,864,865],{"class":340}," bytesSource",[222,867,345],{"class":344},[222,869,384],{"class":344},[222,871,872],{"class":387}," BytesImageSource",[222,874,549],{"class":302},[222,876,877],{"class":348},"imageBytes",[222,879,555],{"class":302},[260,881],{},[206,883,885],{"id":884},"_4-contoh-praktis-penanganan-keluaran","4. Contoh Praktis & Penanganan Keluaran",[887,888,890],"h3",{"id":889},"contoh-a-deteksi-baris-terstruktur-dengan-koordinat-frame","Contoh A: Deteksi Baris Terstruktur dengan Koordinat Frame",[213,892,894],{"className":286,"code":893,"language":288,"meta":218,"style":218},"using System;\nusing RustODotnet;\n\nusing var ocr = RustO.Initialize();\nvar result = ocr.DetectText(new UriImageSource(\"receipt.jpg\"));\n\nif (result is StructuredDetectTextResult structured)\n{\n    Console.WriteLine($\"Ditemukan {structured.Items.Count} baris teks:\\n\");\n    foreach (var item in structured.Items)\n    {\n        Console.WriteLine($\"[{item.Frame.Left:F0}, {item.Frame.Top:F0}, {item.Frame.Width:F0}x{item.Frame.Height:F0}]\");\n        Console.WriteLine($\"  Teks: {item.Text}\");\n        Console.WriteLine($\"  Skor: {item.Score:P1}\");\n    }\n}\n",[183,895,896,904,912,916,934,969,973,996,1000,1049,1072,1076,1186,1216,1251,1255],{"__ignoreMap":218},[222,897,898,900,902],{"class":224,"line":225},[222,899,278],{"class":295},[222,901,299],{"class":298},[222,903,303],{"class":302},[222,905,906,908,910],{"class":224,"line":306},[222,907,278],{"class":295},[222,909,311],{"class":298},[222,911,303],{"class":302},[222,913,914],{"class":224,"line":316},[222,915,320],{"emptyLinePlaceholder":319},[222,917,918,920,922,924,926,928,930,932],{"class":224,"line":323},[222,919,278],{"class":333},[222,921,337],{"class":336},[222,923,341],{"class":340},[222,925,345],{"class":344},[222,927,349],{"class":348},[222,929,352],{"class":302},[222,931,356],{"class":355},[222,933,359],{"class":302},[222,935,936,938,941,943,945,947,950,952,955,957,959,961,964,966],{"class":224,"line":330},[222,937,376],{"class":336},[222,939,940],{"class":340}," result",[222,942,345],{"class":344},[222,944,341],{"class":348},[222,946,352],{"class":302},[222,948,949],{"class":355},"DetectText",[222,951,549],{"class":302},[222,953,954],{"class":344},"new",[222,956,804],{"class":387},[222,958,549],{"class":302},[222,960,413],{"class":406},[222,962,963],{"class":232},"receipt.jpg",[222,965,413],{"class":406},[222,967,968],{"class":302},"));\n",[222,970,971],{"class":224,"line":362},[222,972,320],{"emptyLinePlaceholder":319},[222,974,975,978,981,984,987,990,993],{"class":224,"line":367},[222,976,977],{"class":333},"if",[222,979,980],{"class":302}," (",[222,982,983],{"class":348},"result ",[222,985,986],{"class":344},"is",[222,988,989],{"class":387}," StructuredDetectTextResult",[222,991,992],{"class":340}," structured",[222,994,995],{"class":302},")\n",[222,997,998],{"class":224,"line":373},[222,999,394],{"class":302},[222,1001,1002,1005,1007,1010,1012,1015,1018,1022,1025,1027,1030,1032,1035,1038,1041,1045,1047],{"class":224,"line":391},[222,1003,1004],{"class":348},"    Console",[222,1006,352],{"class":302},[222,1008,1009],{"class":355},"WriteLine",[222,1011,549],{"class":302},[222,1013,1014],{"class":406},"$\"",[222,1016,1017],{"class":232},"Ditemukan ",[222,1019,1021],{"class":1020},"s00De","{",[222,1023,1024],{"class":348},"structured",[222,1026,352],{"class":1020},[222,1028,1029],{"class":348},"Items",[222,1031,352],{"class":1020},[222,1033,1034],{"class":348},"Count",[222,1036,1037],{"class":1020},"}",[222,1039,1040],{"class":232}," baris teks:",[222,1042,1044],{"class":1043},"sQeA1","\\n",[222,1046,413],{"class":406},[222,1048,555],{"class":302},[222,1050,1051,1054,1056,1058,1061,1064,1066,1068,1070],{"class":224,"line":397},[222,1052,1053],{"class":333},"    foreach",[222,1055,980],{"class":302},[222,1057,376],{"class":336},[222,1059,1060],{"class":340}," item",[222,1062,1063],{"class":333}," in",[222,1065,992],{"class":348},[222,1067,352],{"class":302},[222,1069,1029],{"class":348},[222,1071,995],{"class":302},[222,1073,1074],{"class":224,"line":419},[222,1075,478],{"class":302},[222,1077,1078,1081,1083,1085,1087,1089,1092,1094,1097,1099,1102,1104,1107,1110,1113,1115,1117,1119,1121,1123,1125,1127,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1151,1153,1155,1157,1160,1162,1164,1166,1168,1170,1173,1175,1177,1179,1182,1184],{"class":224,"line":462},[222,1079,1080],{"class":348},"        Console",[222,1082,352],{"class":302},[222,1084,1009],{"class":355},[222,1086,549],{"class":302},[222,1088,1014],{"class":406},[222,1090,1091],{"class":232},"[",[222,1093,1021],{"class":1020},[222,1095,1096],{"class":348},"item",[222,1098,352],{"class":1020},[222,1100,1101],{"class":348},"Frame",[222,1103,352],{"class":1020},[222,1105,1106],{"class":348},"Left",[222,1108,1109],{"class":344},":",[222,1111,1112],{"class":348},"F0",[222,1114,1037],{"class":1020},[222,1116,190],{"class":232},[222,1118,1021],{"class":1020},[222,1120,1096],{"class":348},[222,1122,352],{"class":1020},[222,1124,1101],{"class":348},[222,1126,352],{"class":1020},[222,1128,1129],{"class":348},"Top",[222,1131,1109],{"class":344},[222,1133,1112],{"class":348},[222,1135,1037],{"class":1020},[222,1137,190],{"class":232},[222,1139,1021],{"class":1020},[222,1141,1096],{"class":348},[222,1143,352],{"class":1020},[222,1145,1101],{"class":348},[222,1147,352],{"class":1020},[222,1149,1150],{"class":348},"Width",[222,1152,1109],{"class":344},[222,1154,1112],{"class":348},[222,1156,1037],{"class":1020},[222,1158,1159],{"class":232},"x",[222,1161,1021],{"class":1020},[222,1163,1096],{"class":348},[222,1165,352],{"class":1020},[222,1167,1101],{"class":348},[222,1169,352],{"class":1020},[222,1171,1172],{"class":348},"Height",[222,1174,1109],{"class":344},[222,1176,1112],{"class":348},[222,1178,1037],{"class":1020},[222,1180,1181],{"class":232},"]",[222,1183,413],{"class":406},[222,1185,555],{"class":302},[222,1187,1188,1190,1192,1194,1196,1198,1201,1203,1205,1207,1210,1212,1214],{"class":224,"line":475},[222,1189,1080],{"class":348},[222,1191,352],{"class":302},[222,1193,1009],{"class":355},[222,1195,549],{"class":302},[222,1197,1014],{"class":406},[222,1199,1200],{"class":232},"  Teks: ",[222,1202,1021],{"class":1020},[222,1204,1096],{"class":348},[222,1206,352],{"class":1020},[222,1208,1209],{"class":348},"Text",[222,1211,1037],{"class":1020},[222,1213,413],{"class":406},[222,1215,555],{"class":302},[222,1217,1218,1220,1222,1224,1226,1228,1231,1233,1235,1237,1240,1242,1245,1247,1249],{"class":224,"line":481},[222,1219,1080],{"class":348},[222,1221,352],{"class":302},[222,1223,1009],{"class":355},[222,1225,549],{"class":302},[222,1227,1014],{"class":406},[222,1229,1230],{"class":232},"  Skor: ",[222,1232,1021],{"class":1020},[222,1234,1096],{"class":348},[222,1236,352],{"class":1020},[222,1238,1239],{"class":348},"Score",[222,1241,1109],{"class":344},[222,1243,1244],{"class":348},"P1",[222,1246,1037],{"class":1020},[222,1248,413],{"class":406},[222,1250,555],{"class":302},[222,1252,1253],{"class":224,"line":498},[222,1254,517],{"class":302},[222,1256,1257],{"class":224,"line":514},[222,1258,1259],{"class":302},"}\n",[1261,1262,1264],"h4",{"id":1263},"contoh-keluaran","Contoh Keluaran:",[213,1266,1271],{"className":1267,"code":1269,"language":1270,"meta":218},[1268],"language-text","Ditemukan 3 baris teks:\n\n[40, 30, 200x24]\n  Teks: TOKO MAJU JAYA - PUSAT\n  Skor: 99.1%\n[40, 75, 150x20]\n  Teks: Subtotal: Rp450.000\n  Skor: 98.4%\n[40, 105, 150x20]\n  Teks: Total:    Rp495.000\n  Skor: 99.5%\n","text",[183,1272,1269],{"__ignoreMap":218},[260,1274],{},[887,1276,1278],{"id":1277},"contoh-b-mengekstrak-tabel-dokumen-ke-tata-letak-spasial","Contoh B: Mengekstrak Tabel Dokumen ke Tata Letak Spasial",[213,1280,1282],{"className":286,"code":1281,"language":288,"meta":218,"style":218},"using System;\nusing RustODotnet;\n\nusing var ocr = RustO.Initialize();\n\nvar spatialOptions = new OcrRunOptions\n{\n    Output = OutputGranularity.Spatial,\n    LineYThreshold = 0.5f,\n    WordXThreshold = 0.4f\n};\n\nvar spatialResult = ocr.DetectText(new UriImageSource(\"invoice_table.png\"), spatialOptions);\n\nif (spatialResult is SpatialDetectTextResult spatial)\n{\n    Console.WriteLine(\"--- Teks Spasial Hasil Rekonstruksi ---\");\n    Console.WriteLine(spatial.Text);\n}\n",[183,1283,1284,1292,1300,1304,1322,1326,1339,1343,1358,1368,1377,1381,1385,1422,1426,1445,1449,1468,1487],{"__ignoreMap":218},[222,1285,1286,1288,1290],{"class":224,"line":225},[222,1287,278],{"class":295},[222,1289,299],{"class":298},[222,1291,303],{"class":302},[222,1293,1294,1296,1298],{"class":224,"line":306},[222,1295,278],{"class":295},[222,1297,311],{"class":298},[222,1299,303],{"class":302},[222,1301,1302],{"class":224,"line":316},[222,1303,320],{"emptyLinePlaceholder":319},[222,1305,1306,1308,1310,1312,1314,1316,1318,1320],{"class":224,"line":323},[222,1307,278],{"class":333},[222,1309,337],{"class":336},[222,1311,341],{"class":340},[222,1313,345],{"class":344},[222,1315,349],{"class":348},[222,1317,352],{"class":302},[222,1319,356],{"class":355},[222,1321,359],{"class":302},[222,1323,1324],{"class":224,"line":330},[222,1325,320],{"emptyLinePlaceholder":319},[222,1327,1328,1330,1333,1335,1337],{"class":224,"line":362},[222,1329,376],{"class":336},[222,1331,1332],{"class":340}," spatialOptions",[222,1334,345],{"class":344},[222,1336,384],{"class":344},[222,1338,586],{"class":387},[222,1340,1341],{"class":224,"line":367},[222,1342,394],{"class":302},[222,1344,1345,1347,1349,1351,1353,1356],{"class":224,"line":373},[222,1346,595],{"class":348},[222,1348,403],{"class":344},[222,1350,600],{"class":348},[222,1352,352],{"class":302},[222,1354,1355],{"class":348},"Spatial",[222,1357,416],{"class":302},[222,1359,1360,1362,1364,1366],{"class":224,"line":391},[222,1361,615],{"class":348},[222,1363,403],{"class":344},[222,1365,620],{"class":455},[222,1367,416],{"class":302},[222,1369,1370,1372,1374],{"class":224,"line":397},[222,1371,627],{"class":348},[222,1373,403],{"class":344},[222,1375,1376],{"class":455}," 0.4f\n",[222,1378,1379],{"class":224,"line":419},[222,1380,523],{"class":302},[222,1382,1383],{"class":224,"line":462},[222,1384,320],{"emptyLinePlaceholder":319},[222,1386,1387,1389,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1413,1415,1418,1420],{"class":224,"line":475},[222,1388,376],{"class":336},[222,1390,1391],{"class":340}," spatialResult",[222,1393,345],{"class":344},[222,1395,341],{"class":348},[222,1397,352],{"class":302},[222,1399,949],{"class":355},[222,1401,549],{"class":302},[222,1403,954],{"class":344},[222,1405,804],{"class":387},[222,1407,549],{"class":302},[222,1409,413],{"class":406},[222,1411,1412],{"class":232},"invoice_table.png",[222,1414,413],{"class":406},[222,1416,1417],{"class":302},"),",[222,1419,1332],{"class":348},[222,1421,555],{"class":302},[222,1423,1424],{"class":224,"line":481},[222,1425,320],{"emptyLinePlaceholder":319},[222,1427,1428,1430,1432,1435,1437,1440,1443],{"class":224,"line":498},[222,1429,977],{"class":333},[222,1431,980],{"class":302},[222,1433,1434],{"class":348},"spatialResult ",[222,1436,986],{"class":344},[222,1438,1439],{"class":387}," SpatialDetectTextResult",[222,1441,1442],{"class":340}," spatial",[222,1444,995],{"class":302},[222,1446,1447],{"class":224,"line":514},[222,1448,394],{"class":302},[222,1450,1451,1453,1455,1457,1459,1461,1464,1466],{"class":224,"line":520},[222,1452,1004],{"class":348},[222,1454,352],{"class":302},[222,1456,1009],{"class":355},[222,1458,549],{"class":302},[222,1460,413],{"class":406},[222,1462,1463],{"class":232},"--- Teks Spasial Hasil Rekonstruksi ---",[222,1465,413],{"class":406},[222,1467,555],{"class":302},[222,1469,1470,1472,1474,1476,1478,1481,1483,1485],{"class":224,"line":526},[222,1471,1004],{"class":348},[222,1473,352],{"class":302},[222,1475,1009],{"class":355},[222,1477,549],{"class":302},[222,1479,1480],{"class":348},"spatial",[222,1482,352],{"class":302},[222,1484,1209],{"class":348},[222,1486,555],{"class":302},[222,1488,1489],{"class":224,"line":531},[222,1490,1259],{"class":302},[1261,1492,1264],{"id":1493},"contoh-keluaran-1",[213,1495,1498],{"className":1496,"code":1497,"language":1270,"meta":218},[1268],"--- Teks Spasial Hasil Rekonstruksi ---\nDeskripsi Layanan        Jumlah       Tarif        Subtotal\nJasa Konsultasi               8   Rp1.500.000  Rp12.000.000\nLisensi Perangkat Lunak       1   Rp4.990.000   Rp4.990.000\nHosting Cloud                 1     Rp500.000     Rp500.000\n───────────────────────────────────────────────────────────\nTotal Pembayaran:                              Rp17.490.000\n",[183,1499,1497],{"__ignoreMap":218},[260,1501],{},[887,1503,1505],{"id":1504},"contoh-c-implementasi-controller-aspnet-core-web-api","Contoh C: Implementasi Controller ASP.NET Core Web API",[213,1507,1509],{"className":286,"code":1508,"language":288,"meta":218,"style":218},"using Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing RustODotnet;\nusing System.IO;\nusing System.Threading.Tasks;\n\n[ApiController]\n[Route(\"api\u002F[controller]\")]\npublic class OcrController : ControllerBase\n{\n    private readonly RustO _ocr;\n\n    public OcrController()\n    {\n        \u002F\u002F Pada aplikasi web, inisialisasi satu kali sebagai service singleton \u002F scoped\n        _ocr = RustO.Initialize();\n    }\n\n    [HttpPost(\"scan\")]\n    public async Task\u003CIActionResult> ScanDocument(IFormFile file)\n    {\n        if (file == null || file.Length == 0)\n            return BadRequest(\"Tidak ada berkas gambar yang diunggah.\");\n\n        using var memoryStream = new MemoryStream();\n        await file.CopyToAsync(memoryStream);\n\n        var result = _ocr.DetectText(\n            new BytesImageSource(memoryStream.ToArray()),\n            new OcrRunOptions { Output = OutputGranularity.Spatial }\n        );\n\n        if (result is SpatialDetectTextResult spatial)\n        {\n            return Ok(new { text = spatial.Text });\n        }\n\n        return StatusCode(500, \"Pemrosesan OCR gagal.\");\n    }\n}\n",[183,1510,1511,1530,1547,1555,1567,1585,1589,1599,1618,1636,1640,1655,1659,1669,1673,1678,1693,1697,1701,1720,1753,1758,1793,1813,1818,1838,1858,1863,1882,1902,1926,1932,1937,1954,1960,1989,1995,2000,2025,2030],{"__ignoreMap":218},[222,1512,1513,1515,1518,1520,1523,1525,1528],{"class":224,"line":225},[222,1514,278],{"class":295},[222,1516,1517],{"class":298}," Microsoft",[222,1519,352],{"class":302},[222,1521,1522],{"class":298},"AspNetCore",[222,1524,352],{"class":302},[222,1526,1527],{"class":298},"Http",[222,1529,303],{"class":302},[222,1531,1532,1534,1536,1538,1540,1542,1545],{"class":224,"line":306},[222,1533,278],{"class":295},[222,1535,1517],{"class":298},[222,1537,352],{"class":302},[222,1539,1522],{"class":298},[222,1541,352],{"class":302},[222,1543,1544],{"class":298},"Mvc",[222,1546,303],{"class":302},[222,1548,1549,1551,1553],{"class":224,"line":316},[222,1550,278],{"class":295},[222,1552,311],{"class":298},[222,1554,303],{"class":302},[222,1556,1557,1559,1561,1563,1565],{"class":224,"line":323},[222,1558,278],{"class":295},[222,1560,299],{"class":298},[222,1562,352],{"class":302},[222,1564,779],{"class":298},[222,1566,303],{"class":302},[222,1568,1569,1571,1573,1575,1578,1580,1583],{"class":224,"line":330},[222,1570,278],{"class":295},[222,1572,299],{"class":298},[222,1574,352],{"class":302},[222,1576,1577],{"class":298},"Threading",[222,1579,352],{"class":302},[222,1581,1582],{"class":298},"Tasks",[222,1584,303],{"class":302},[222,1586,1587],{"class":224,"line":362},[222,1588,320],{"emptyLinePlaceholder":319},[222,1590,1591,1593,1596],{"class":224,"line":367},[222,1592,1091],{"class":302},[222,1594,1595],{"class":387},"ApiController",[222,1597,1598],{"class":302},"]\n",[222,1600,1601,1603,1606,1608,1610,1613,1615],{"class":224,"line":373},[222,1602,1091],{"class":302},[222,1604,1605],{"class":387},"Route",[222,1607,549],{"class":302},[222,1609,413],{"class":406},[222,1611,1612],{"class":232},"api\u002F[controller]",[222,1614,413],{"class":406},[222,1616,1617],{"class":302},")]\n",[222,1619,1620,1624,1627,1630,1633],{"class":224,"line":391},[222,1621,1623],{"class":1622},"sTNss","public",[222,1625,1626],{"class":336}," class",[222,1628,1629],{"class":387}," OcrController",[222,1631,1632],{"class":302}," :",[222,1634,1635],{"class":387}," ControllerBase\n",[222,1637,1638],{"class":224,"line":397},[222,1639,394],{"class":302},[222,1641,1642,1645,1648,1650,1653],{"class":224,"line":419},[222,1643,1644],{"class":1622},"    private",[222,1646,1647],{"class":1622}," readonly",[222,1649,349],{"class":387},[222,1651,1652],{"class":340}," _ocr",[222,1654,303],{"class":302},[222,1656,1657],{"class":224,"line":462},[222,1658,320],{"emptyLinePlaceholder":319},[222,1660,1661,1664,1666],{"class":224,"line":475},[222,1662,1663],{"class":1622},"    public",[222,1665,1629],{"class":355},[222,1667,1668],{"class":302},"()\n",[222,1670,1671],{"class":224,"line":481},[222,1672,478],{"class":302},[222,1674,1675],{"class":224,"line":498},[222,1676,1677],{"class":326},"        \u002F\u002F Pada aplikasi web, inisialisasi satu kali sebagai service singleton \u002F scoped\n",[222,1679,1680,1683,1685,1687,1689,1691],{"class":224,"line":514},[222,1681,1682],{"class":348},"        _ocr ",[222,1684,403],{"class":344},[222,1686,349],{"class":348},[222,1688,352],{"class":302},[222,1690,356],{"class":355},[222,1692,359],{"class":302},[222,1694,1695],{"class":224,"line":520},[222,1696,517],{"class":302},[222,1698,1699],{"class":224,"line":526},[222,1700,320],{"emptyLinePlaceholder":319},[222,1702,1703,1706,1709,1711,1713,1716,1718],{"class":224,"line":531},[222,1704,1705],{"class":302},"    [",[222,1707,1708],{"class":387},"HttpPost",[222,1710,549],{"class":302},[222,1712,413],{"class":406},[222,1714,1715],{"class":232},"scan",[222,1717,413],{"class":406},[222,1719,1617],{"class":302},[222,1721,1723,1725,1728,1731,1734,1737,1740,1743,1745,1748,1751],{"class":224,"line":1722},20,[222,1724,1663],{"class":1622},[222,1726,1727],{"class":1622}," async",[222,1729,1730],{"class":387}," Task",[222,1732,1733],{"class":302},"\u003C",[222,1735,1736],{"class":387},"IActionResult",[222,1738,1739],{"class":302},">",[222,1741,1742],{"class":355}," ScanDocument",[222,1744,549],{"class":302},[222,1746,1747],{"class":387},"IFormFile",[222,1749,1750],{"class":340}," file",[222,1752,995],{"class":302},[222,1754,1756],{"class":224,"line":1755},21,[222,1757,478],{"class":302},[222,1759,1761,1764,1766,1769,1772,1776,1779,1781,1783,1786,1788,1791],{"class":224,"line":1760},22,[222,1762,1763],{"class":333},"        if",[222,1765,980],{"class":302},[222,1767,1768],{"class":348},"file ",[222,1770,1771],{"class":344},"==",[222,1773,1775],{"class":1774},"sMTiH"," null",[222,1777,1778],{"class":344}," ||",[222,1780,1750],{"class":348},[222,1782,352],{"class":302},[222,1784,1785],{"class":348},"Length ",[222,1787,1771],{"class":344},[222,1789,1790],{"class":455}," 0",[222,1792,995],{"class":302},[222,1794,1796,1799,1802,1804,1806,1809,1811],{"class":224,"line":1795},23,[222,1797,1798],{"class":333},"            return",[222,1800,1801],{"class":355}," BadRequest",[222,1803,549],{"class":302},[222,1805,413],{"class":406},[222,1807,1808],{"class":232},"Tidak ada berkas gambar yang diunggah.",[222,1810,413],{"class":406},[222,1812,555],{"class":302},[222,1814,1816],{"class":224,"line":1815},24,[222,1817,320],{"emptyLinePlaceholder":319},[222,1819,1821,1824,1826,1829,1831,1833,1836],{"class":224,"line":1820},25,[222,1822,1823],{"class":333},"        using",[222,1825,337],{"class":336},[222,1827,1828],{"class":340}," memoryStream",[222,1830,345],{"class":344},[222,1832,384],{"class":344},[222,1834,1835],{"class":387}," MemoryStream",[222,1837,359],{"class":302},[222,1839,1841,1844,1846,1848,1851,1853,1856],{"class":224,"line":1840},26,[222,1842,1843],{"class":344},"        await",[222,1845,1750],{"class":348},[222,1847,352],{"class":302},[222,1849,1850],{"class":355},"CopyToAsync",[222,1852,549],{"class":302},[222,1854,1855],{"class":348},"memoryStream",[222,1857,555],{"class":302},[222,1859,1861],{"class":224,"line":1860},27,[222,1862,320],{"emptyLinePlaceholder":319},[222,1864,1866,1869,1871,1873,1875,1877,1879],{"class":224,"line":1865},28,[222,1867,1868],{"class":336},"        var",[222,1870,940],{"class":340},[222,1872,345],{"class":344},[222,1874,1652],{"class":348},[222,1876,352],{"class":302},[222,1878,949],{"class":355},[222,1880,1881],{"class":302},"(\n",[222,1883,1885,1888,1890,1892,1894,1896,1899],{"class":224,"line":1884},29,[222,1886,1887],{"class":344},"            new",[222,1889,872],{"class":387},[222,1891,549],{"class":302},[222,1893,1855],{"class":348},[222,1895,352],{"class":302},[222,1897,1898],{"class":355},"ToArray",[222,1900,1901],{"class":302},"()),\n",[222,1903,1905,1907,1910,1912,1915,1917,1919,1921,1924],{"class":224,"line":1904},30,[222,1906,1887],{"class":344},[222,1908,1909],{"class":387}," OcrRunOptions",[222,1911,432],{"class":302},[222,1913,1914],{"class":348}," Output ",[222,1916,403],{"class":344},[222,1918,600],{"class":348},[222,1920,352],{"class":302},[222,1922,1923],{"class":348},"Spatial ",[222,1925,1259],{"class":302},[222,1927,1929],{"class":224,"line":1928},31,[222,1930,1931],{"class":302},"        );\n",[222,1933,1935],{"class":224,"line":1934},32,[222,1936,320],{"emptyLinePlaceholder":319},[222,1938,1940,1942,1944,1946,1948,1950,1952],{"class":224,"line":1939},33,[222,1941,1763],{"class":333},[222,1943,980],{"class":302},[222,1945,983],{"class":348},[222,1947,986],{"class":344},[222,1949,1439],{"class":387},[222,1951,1442],{"class":340},[222,1953,995],{"class":302},[222,1955,1957],{"class":224,"line":1956},34,[222,1958,1959],{"class":302},"        {\n",[222,1961,1963,1965,1968,1970,1972,1974,1977,1979,1981,1983,1986],{"class":224,"line":1962},35,[222,1964,1798],{"class":333},[222,1966,1967],{"class":355}," Ok",[222,1969,549],{"class":302},[222,1971,954],{"class":344},[222,1973,432],{"class":302},[222,1975,1976],{"class":348}," text ",[222,1978,403],{"class":344},[222,1980,1442],{"class":348},[222,1982,352],{"class":302},[222,1984,1985],{"class":348},"Text ",[222,1987,1988],{"class":302},"});\n",[222,1990,1992],{"class":224,"line":1991},36,[222,1993,1994],{"class":302},"        }\n",[222,1996,1998],{"class":224,"line":1997},37,[222,1999,320],{"emptyLinePlaceholder":319},[222,2001,2003,2006,2009,2011,2014,2016,2018,2021,2023],{"class":224,"line":2002},38,[222,2004,2005],{"class":333},"        return",[222,2007,2008],{"class":355}," StatusCode",[222,2010,549],{"class":302},[222,2012,2013],{"class":455},"500",[222,2015,447],{"class":302},[222,2017,407],{"class":406},[222,2019,2020],{"class":232},"Pemrosesan OCR gagal.",[222,2022,413],{"class":406},[222,2024,555],{"class":302},[222,2026,2028],{"class":224,"line":2027},39,[222,2029,517],{"class":302},[222,2031,2033],{"class":224,"line":2032},40,[222,2034,1259],{"class":302},[2036,2037,2038],"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 .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 .shWJe, html code.shiki .shWJe{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sM5v9, html code.shiki .sM5v9{--shiki-light:#90A4AE;--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 .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}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 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 .sQHqT, html code.shiki .sQHqT{--shiki-light:#E2931D;--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 .sQqfL, html code.shiki .sQqfL{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--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 .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}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 .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 .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}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 .s8HiA, html code.shiki .s8HiA{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}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 .sQeA1, html code.shiki .sQeA1{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sTNss, html code.shiki .sTNss{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sMTiH, html code.shiki .sMTiH{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}",{"title":218,"searchDepth":306,"depth":306,"links":2040},[2041,2042,2043,2045,2046],{"id":208,"depth":306,"text":15},{"id":264,"depth":306,"text":265},{"id":560,"depth":306,"text":2044},"2. Opsi Permintaan Lokal (OcrRunOptions)",{"id":756,"depth":306,"text":757},{"id":884,"depth":306,"text":885,"children":2047},[2048,2049,2050],{"id":889,"depth":316,"text":890},{"id":1277,"depth":316,"text":1278},{"id":1504,"depth":316,"text":1505},"Penggunaan RustODotnet pada aplikasi C# dan .NET di Windows, Linux, dan macOS.","md",null,{},{"icon":44},{"title":2057,"description":2051},"Menggunakan .NET \u002F C# - RustO!","G1p2iT8yzFq4L9BgTYf-rB9GyRwFUGBYl_WFnz6SOU8",[2060,2062],{"title":36,"path":37,"stem":38,"description":2061,"icon":39,"children":-1},"Penggunaan mesin dan API RustO! berbasis Rust murni pada aplikasi Rust.",{"title":46,"path":47,"stem":48,"description":2063,"icon":49,"children":-1},"Integrasi @rustors\u002Freact-native pada aplikasi React Native untuk iOS dan Android, mencakup New Architecture (TurboModules), CocoaPods, dan Expo.",1792905890393]