[{"data":1,"prerenderedAt":495},["ShallowReactive",2],{"navigation_docs_id":3,"-id-how-to-use-golang":173,"-id-how-to-use-golang-surround":490},[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":90,"body":175,"description":482,"extension":483,"links":484,"meta":485,"navigation":486,"path":91,"seo":487,"stem":92,"__hash__":489},"docs_id\u002Fid\u002F02.how-to\u002F11.use-golang.md",{"type":176,"value":177,"toc":478},"minimark",[178,199,203,228,243,246,250,474],[179,180,181,182,186,187,190,191,194,195,198],"p",{},"Modul ",[183,184,185],"code",{},"github.com\u002Fbyrizki\u002Frusto-rs\u002Fpackages\u002Fgo"," menyediakan binding native Go via Cgo dengan konfigurasi dynamic linker bawaan (",[183,188,189],{},"-Wl,-rpath","), sehingga binary aplikasi dan unit test dapat menemukan ",[183,192,193],{},"librusto"," tanpa perlu menyetel ",[183,196,197],{},"LD_LIBRARY_PATH",".",[200,201,15],"h2",{"id":202},"instalasi",[204,205,210],"pre",{"className":206,"code":207,"language":208,"meta":209,"style":209},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","go get github.com\u002Fbyrizki\u002Frusto-rs\u002Fpackages\u002Fgo\n","bash","",[183,211,212],{"__ignoreMap":209},[213,214,217,221,225],"span",{"class":215,"line":216},"line",1,[213,218,220],{"class":219},"sR7ES","go",[213,222,224],{"class":223},"sLACW"," get",[213,226,227],{"class":223}," github.com\u002Fbyrizki\u002Frusto-rs\u002Fpackages\u002Fgo\n",[179,229,230,231,234,235,238,239,242],{},"Pastikan pustaka bersama ",[183,232,233],{},"librusto.so"," (Linux), ",[183,236,237],{},"librusto.dylib"," (macOS), atau ",[183,240,241],{},"rusto.dll"," (Windows) tersedia pada sistem Anda.",[244,245],"hr",{},[200,247,249],{"id":248},"_1-inisialisasi-engine","1. Inisialisasi Engine",[204,251,254],{"className":252,"code":253,"language":220,"meta":209,"style":209},"language-go shiki shiki-themes material-theme-lighter github-light github-dark monokai","package main\n\nimport (\n    \"encoding\u002Fjson\"\n    \"fmt\"\n    \"log\"\n\n    \"github.com\u002Fbyrizki\u002Frusto-rs\u002Fpackages\u002Fgo\"\n)\n\nfunc main() {\n    config := map[string]interface{}{\n        \"detection\": map[string]string{\n            \"model_path\": \"models\u002FPPOCR_v6\u002Fdet.rten\",\n        },\n        \"recognition\": map[string]string{\n            \"model_path\": \"models\u002FPPOCR_v6\u002Frec.rten\",\n            \"dict_path\":  \"models\u002FPPOCR_v6\u002Fdict.txt\",\n        },\n    }\n    configBytes, _ := json.Marshal(config)\n\n    engine, err := rusto.New(string(configBytes))\n    if err != nil {\n        log.Fatalf(\"Gagal inisialisasi RustO: %v\", err)\n    }\n    defer engine.Close()\n\n    \u002F\u002F Deteksi teks terstruktur\n    results, err := engine.DetectTextFile(\"receipt.jpg\", \"{}\")\n    if err != nil {\n        log.Fatalf(\"Deteksi gagal: %v\", err)\n    }\n\n    for _, item := range results {\n        fmt.Printf(\"[%0.2f] %s\\n\", item.Score, item.Text)\n    }\n}\n",[183,255,256,261,268,274,280,286,292,297,303,309,314,320,326,332,338,344,350,356,362,367,373,379,384,390,396,402,407,413,418,424,430,435,441,446,451,457,463,468],{"__ignoreMap":209},[213,257,258],{"class":215,"line":216},[213,259,260],{},"package main\n",[213,262,264],{"class":215,"line":263},2,[213,265,267],{"emptyLinePlaceholder":266},true,"\n",[213,269,271],{"class":215,"line":270},3,[213,272,273],{},"import (\n",[213,275,277],{"class":215,"line":276},4,[213,278,279],{},"    \"encoding\u002Fjson\"\n",[213,281,283],{"class":215,"line":282},5,[213,284,285],{},"    \"fmt\"\n",[213,287,289],{"class":215,"line":288},6,[213,290,291],{},"    \"log\"\n",[213,293,295],{"class":215,"line":294},7,[213,296,267],{"emptyLinePlaceholder":266},[213,298,300],{"class":215,"line":299},8,[213,301,302],{},"    \"github.com\u002Fbyrizki\u002Frusto-rs\u002Fpackages\u002Fgo\"\n",[213,304,306],{"class":215,"line":305},9,[213,307,308],{},")\n",[213,310,312],{"class":215,"line":311},10,[213,313,267],{"emptyLinePlaceholder":266},[213,315,317],{"class":215,"line":316},11,[213,318,319],{},"func main() {\n",[213,321,323],{"class":215,"line":322},12,[213,324,325],{},"    config := map[string]interface{}{\n",[213,327,329],{"class":215,"line":328},13,[213,330,331],{},"        \"detection\": map[string]string{\n",[213,333,335],{"class":215,"line":334},14,[213,336,337],{},"            \"model_path\": \"models\u002FPPOCR_v6\u002Fdet.rten\",\n",[213,339,341],{"class":215,"line":340},15,[213,342,343],{},"        },\n",[213,345,347],{"class":215,"line":346},16,[213,348,349],{},"        \"recognition\": map[string]string{\n",[213,351,353],{"class":215,"line":352},17,[213,354,355],{},"            \"model_path\": \"models\u002FPPOCR_v6\u002Frec.rten\",\n",[213,357,359],{"class":215,"line":358},18,[213,360,361],{},"            \"dict_path\":  \"models\u002FPPOCR_v6\u002Fdict.txt\",\n",[213,363,365],{"class":215,"line":364},19,[213,366,343],{},[213,368,370],{"class":215,"line":369},20,[213,371,372],{},"    }\n",[213,374,376],{"class":215,"line":375},21,[213,377,378],{},"    configBytes, _ := json.Marshal(config)\n",[213,380,382],{"class":215,"line":381},22,[213,383,267],{"emptyLinePlaceholder":266},[213,385,387],{"class":215,"line":386},23,[213,388,389],{},"    engine, err := rusto.New(string(configBytes))\n",[213,391,393],{"class":215,"line":392},24,[213,394,395],{},"    if err != nil {\n",[213,397,399],{"class":215,"line":398},25,[213,400,401],{},"        log.Fatalf(\"Gagal inisialisasi RustO: %v\", err)\n",[213,403,405],{"class":215,"line":404},26,[213,406,372],{},[213,408,410],{"class":215,"line":409},27,[213,411,412],{},"    defer engine.Close()\n",[213,414,416],{"class":215,"line":415},28,[213,417,267],{"emptyLinePlaceholder":266},[213,419,421],{"class":215,"line":420},29,[213,422,423],{},"    \u002F\u002F Deteksi teks terstruktur\n",[213,425,427],{"class":215,"line":426},30,[213,428,429],{},"    results, err := engine.DetectTextFile(\"receipt.jpg\", \"{}\")\n",[213,431,433],{"class":215,"line":432},31,[213,434,395],{},[213,436,438],{"class":215,"line":437},32,[213,439,440],{},"        log.Fatalf(\"Deteksi gagal: %v\", err)\n",[213,442,444],{"class":215,"line":443},33,[213,445,372],{},[213,447,449],{"class":215,"line":448},34,[213,450,267],{"emptyLinePlaceholder":266},[213,452,454],{"class":215,"line":453},35,[213,455,456],{},"    for _, item := range results {\n",[213,458,460],{"class":215,"line":459},36,[213,461,462],{},"        fmt.Printf(\"[%0.2f] %s\\n\", item.Score, item.Text)\n",[213,464,466],{"class":215,"line":465},37,[213,467,372],{},[213,469,471],{"class":215,"line":470},38,[213,472,473],{},"}\n",[475,476,477],"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);}",{"title":209,"searchDepth":263,"depth":263,"links":479},[480,481],{"id":202,"depth":263,"text":15},{"id":248,"depth":263,"text":249},"Menggunakan engine RustO! murni Rust pada aplikasi Go via Cgo.","md",null,{},{"icon":93},{"title":488,"description":482},"Menggunakan Golang - RustO!","Z_p8_UK2tSU6a7dVcpiSbW80WOT1dk9meSMX8RCMwCg",[491,493],{"title":85,"path":86,"stem":87,"description":492,"icon":88,"children":-1},"Menggunakan pustaka RustO! OCR native berbasis UniFFI pada aplikasi Python.",{"title":95,"path":96,"stem":97,"description":494,"icon":98,"children":-1},"Menggunakan engine RustO! OCR native pada aplikasi Java, Kotlin, dan Scala via JNA.",1792905890871]