[{"data":1,"prerenderedAt":920},["ShallowReactive",2],{"navigation_docs_id":3,"-id-advance-guide-spatial-layout-reconstruction":173,"-id-advance-guide-spatial-layout-reconstruction-surround":915},[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":125,"body":175,"description":907,"extension":908,"links":909,"meta":910,"navigation":911,"path":126,"seo":912,"stem":127,"__hash__":914},"docs_id\u002Fid\u002F03.advance-guide\u002F03.spatial-layout-reconstruction.md",{"type":176,"value":177,"toc":891},"minimark",[178,182,190,195,286,289,293,296,305,313,319,326,332,337,339,343,349,474,478,570,572,576,580,761,765,887],[179,180,181],"p",{},"Mesin OCR konvensional umumnya hanya mengembalikan daftar kotak pembatas teks yang terputus-putus, sehingga struktur tabel, celah kolom, dan indentasi baris menjadi hilang.",[179,183,184,185,189],{},"RustO! menyertakan ",[186,187,188],"strong",{},"Mesin Rekonstruksi Tata Letak Spasial"," bawaan yang menganalisis relasi geometri 2D untuk menghasilkan teks yang terformat dan rata secara visual.",[191,192,194],"h2",{"id":193},"cara-kerja-algoritma","🎯 Cara Kerja Algoritma",[196,197,202],"pre",{"className":198,"code":199,"language":200,"meta":201,"style":201},"language-mermaid shiki shiki-themes material-theme-lighter github-light github-dark monokai","flowchart TD\n    A[\"Kotak Poligon Mentah\u003Cbr\u002F>(Koordinat, Teks, Tingkat Kepercayaan)\"] --> B[\"Fase 1: Pengelompokan Baris Vertikal (lineYThreshold)\u003Cbr\u002F>• Hitung tinggi median kotak (H_med)\u003Cbr\u002F>• Hitung titik tengah Y = (Atas + Bawah) \u002F 2\u003Cbr\u002F>• Kelompokkan ke baris jika |Y_i - Y_avg| &le; H_med &times; lineYThreshold\"]\n    B --> C[\"Fase 2: Perataan Kolom & Jarak Spasi (wordXThreshold)\u003Cbr\u002F>• Estimasi lebar karakter (W_char)\u003Cbr\u002F>• Ukur celah horizontal = Kiri[i+1] - Kanan[i]\u003Cbr\u002F>• Sisipkan spasi = Celah \u002F W_char\"]\n    C --> D[\"Fase 3: Perakitan Kursor & Rekonstruksi 2D\u003Cbr\u002F>• Urutkan baris dari atas ke bawah\u003Cbr\u002F>• Urutkan kata dari kiri ke kanan\u003Cbr\u002F>• Hasilkan tata letak teks spasial rapi\"]\n","mermaid","",[203,204,205,218,249,268],"code",{"__ignoreMap":201},[206,207,210,214],"span",{"class":208,"line":209},"line",1,[206,211,213],{"class":212},"sRxSC","flowchart",[206,215,217],{"class":216},"sD0ED"," TD\n",[206,219,221,225,228,232,235,238,241,243,246],{"class":208,"line":220},2,[206,222,224],{"class":223},"s94S9","    A",[206,226,227],{"class":212},"[",[206,229,231],{"class":230},"sLACW","\"Kotak Poligon Mentah\u003Cbr\u002F>(Koordinat, Teks, Tingkat Kepercayaan)\"",[206,233,234],{"class":212},"]",[206,236,237],{"class":212}," -->",[206,239,240],{"class":223}," B",[206,242,227],{"class":212},[206,244,245],{"class":230},"\"Fase 1: Pengelompokan Baris Vertikal (lineYThreshold)\u003Cbr\u002F>• Hitung tinggi median kotak (H_med)\u003Cbr\u002F>• Hitung titik tengah Y = (Atas + Bawah) \u002F 2\u003Cbr\u002F>• Kelompokkan ke baris jika |Y_i - Y_avg| &le; H_med &times; lineYThreshold\"",[206,247,248],{"class":212},"]\n",[206,250,252,255,258,261,263,266],{"class":208,"line":251},3,[206,253,254],{"class":223},"    B ",[206,256,257],{"class":212},"-->",[206,259,260],{"class":223}," C",[206,262,227],{"class":212},[206,264,265],{"class":230},"\"Fase 2: Perataan Kolom & Jarak Spasi (wordXThreshold)\u003Cbr\u002F>• Estimasi lebar karakter (W_char)\u003Cbr\u002F>• Ukur celah horizontal = Kiri[i+1] - Kanan[i]\u003Cbr\u002F>• Sisipkan spasi = Celah \u002F W_char\"",[206,267,248],{"class":212},[206,269,271,274,276,279,281,284],{"class":208,"line":270},4,[206,272,273],{"class":223},"    C ",[206,275,257],{"class":212},[206,277,278],{"class":223}," D",[206,280,227],{"class":212},[206,282,283],{"class":230},"\"Fase 3: Perakitan Kursor & Rekonstruksi 2D\u003Cbr\u002F>• Urutkan baris dari atas ke bawah\u003Cbr\u002F>• Urutkan kata dari kiri ke kanan\u003Cbr\u002F>• Hasilkan tata letak teks spasial rapi\"",[206,285,248],{"class":212},[287,288],"hr",{},[191,290,292],{"id":291},"perbandingan-visual-mode-keluaran","Perbandingan Visual: Mode Keluaran",[179,294,295],{},"Sebagai gambaran faktur belanja dengan dua baris barang dan dua kolom:",[297,298,300,301,304],"h3",{"id":299},"_1-daftar-baris-teks-datar-output-lines","1. Daftar Baris Teks Datar (",[203,302,303],{},"output: \"lines\"",")",[196,306,311],{"className":307,"code":309,"language":310,"meta":201},[308],"language-text","Deskripsi Barang\nJumlah\nKopi Latte\nRp28.000\nCroissant\nRp22.000\nTotal\nRp50.000\n","text",[203,312,309],{"__ignoreMap":201},[179,314,315],{},[316,317,318],"em",{},"(Perhatikan bahwa relasi kolom hilang menjadi satu urutan vertikal datar).",[297,320,322,323,304],{"id":321},"_2-teks-rekonstruksi-spasial-output-spatial","2. Teks Rekonstruksi Spasial (",[203,324,325],{},"output: \"spatial\"",[196,327,330],{"className":328,"code":329,"language":310,"meta":201},[308],"Deskripsi Barang                               Jumlah\nKopi Latte                                   Rp28.000\nCroissant                                    Rp22.000\n─────────────────────────────────────────────────────\nTotal                                        Rp50.000\n",[203,331,329],{"__ignoreMap":201},[179,333,334],{},[316,335,336],{},"(Judul kolom, rincian barang, dan baris total tetap rata sesuai posisi 2D aslinya).",[287,338],{},[191,340,342],{"id":341},"️-penyesuaian-parameter-spasial","⚙️ Penyesuaian Parameter Spasial",[179,344,345,346,348],{},"Rekonstruksi spasial dapat disesuaikan saat runtime melalui ",[203,347,164],{},":",[196,350,354],{"className":351,"code":352,"language":353,"meta":201,"style":201},"language-rust shiki shiki-themes material-theme-lighter github-light github-dark monokai","let options = OcrRunOptions {\n    output: OutputGranularity::Spatial,\n    line_y_threshold: Some(0.5), \u002F\u002F Toleransi pengelompokan baris vertikal\n    word_x_threshold: Some(0.4), \u002F\u002F Toleransi pemisahan kata & kolom horizontal\n    ..Default::default()\n};\n","rust",[203,355,356,378,397,428,451,468],{"__ignoreMap":201},[206,357,358,362,366,370,374],{"class":208,"line":209},[206,359,361],{"class":360},"srJo8","let",[206,363,365],{"class":364},"ss--_"," options ",[206,367,369],{"class":368},"sGXK2","=",[206,371,373],{"class":372},"sKvfc"," OcrRunOptions",[206,375,377],{"class":376},"swvn1"," {\n",[206,379,380,383,385,388,391,394],{"class":208,"line":220},[206,381,382],{"class":364},"    output",[206,384,348],{"class":368},[206,386,387],{"class":372}," OutputGranularity",[206,389,390],{"class":368},"::",[206,392,393],{"class":372},"Spatial",[206,395,396],{"class":376},",\n",[206,398,399,402,404,407,410,414,418,421,424],{"class":208,"line":251},[206,400,401],{"class":364},"    line_y_threshold",[206,403,348],{"class":368},[206,405,406],{"class":372}," Some",[206,408,409],{"class":376},"(",[206,411,413],{"class":412},"sYThS","0",[206,415,417],{"class":416},"sMTiH",".",[206,419,420],{"class":412},"5",[206,422,423],{"class":376},"),",[206,425,427],{"class":426},"ss7Ak"," \u002F\u002F Toleransi pengelompokan baris vertikal\n",[206,429,430,433,435,437,439,441,443,446,448],{"class":208,"line":270},[206,431,432],{"class":364},"    word_x_threshold",[206,434,348],{"class":368},[206,436,406],{"class":372},[206,438,409],{"class":376},[206,440,413],{"class":412},[206,442,417],{"class":416},[206,444,445],{"class":412},"4",[206,447,423],{"class":376},[206,449,450],{"class":426}," \u002F\u002F Toleransi pemisahan kata & kolom horizontal\n",[206,452,454,457,460,462,465],{"class":208,"line":453},5,[206,455,456],{"class":368},"    ..",[206,458,459],{"class":372},"Default",[206,461,390],{"class":368},[206,463,464],{"class":216},"default",[206,466,467],{"class":376},"()\n",[206,469,471],{"class":208,"line":470},6,[206,472,473],{"class":376},"};\n",[297,475,477],{"id":476},"panduan-penyesuaian-nilai-parameter","Panduan Penyesuaian Nilai Parameter",[479,480,481,500],"table",{},[482,483,484],"thead",{},[485,486,487,491,494,497],"tr",{},[488,489,490],"th",{},"Parameter",[488,492,493],{},"Nilai Default",[488,495,496],{},"Kapan Perlu Menaikkan Nilai",[488,498,499],{},"Kapan Perlu Menurunkan Nilai",[501,502,503,539],"tbody",{},[485,504,505,513,518,529],{},[506,507,508],"td",{},[186,509,510],{},[203,511,512],{},"lineYThreshold",[506,514,515],{},[203,516,517],{},"0.5",[506,519,520,521,524,525,528],{},"Naikkan (",[203,522,523],{},"0.7"," - ",[203,526,527],{},"0.9",") jika baris struk yang sedikit bergelombang atau miring terpecah menjadi beberapa baris terpisah.",[506,530,531,532,524,535,538],{},"Turunkan (",[203,533,534],{},"0.2",[203,536,537],{},"0.35",") untuk lembar kerja padat atau tabel berbaris rapat.",[485,540,541,548,553,562],{},[506,542,543],{},[186,544,545],{},[203,546,547],{},"wordXThreshold",[506,549,550],{},[203,551,552],{},"0.4",[506,554,520,555,524,558,561],{},[203,556,557],{},"0.6",[203,559,560],{},"0.8",") untuk menggabungkan kata dengan spasi lebar menjadi satu frasa utuh.",[506,563,531,564,524,566,569],{},[203,565,534],{},[203,567,568],{},"0.3",") untuk menjaga batas kolom data tabel tetap terpisah dengan tegas.",[287,571],{},[191,573,575],{"id":574},"contoh-praktis-di-berbagai-platform","💡 Contoh Praktis di Berbagai Platform",[297,577,579],{"id":578},"pada-rust","Pada Rust",[196,581,583],{"className":351,"code":582,"language":353,"meta":201,"style":201},"let spatial_text = match ocr.detect_text(&image_source, &OcrRunOptions {\n    output: OutputGranularity::Spatial,\n    line_y_threshold: Some(0.5),\n    word_x_threshold: Some(0.4),\n    ..Default::default()\n})? {\n    DetectTextResult::Spatial(text) => text,\n    _ => unreachable!(),\n};\nprintln!(\"{spatial_text}\");\n",[203,584,585,623,637,656,674,686,696,720,735,740],{"__ignoreMap":201},[206,586,587,589,592,594,597,600,602,605,607,610,613,616,619,621],{"class":208,"line":209},[206,588,361],{"class":360},[206,590,591],{"class":364}," spatial_text ",[206,593,369],{"class":368},[206,595,596],{"class":212}," match",[206,598,599],{"class":364}," ocr",[206,601,417],{"class":368},[206,603,604],{"class":216},"detect_text",[206,606,409],{"class":376},[206,608,609],{"class":368},"&",[206,611,612],{"class":364},"image_source",[206,614,615],{"class":376},",",[206,617,618],{"class":368}," &",[206,620,164],{"class":372},[206,622,377],{"class":376},[206,624,625,627,629,631,633,635],{"class":208,"line":220},[206,626,382],{"class":364},[206,628,348],{"class":368},[206,630,387],{"class":372},[206,632,390],{"class":368},[206,634,393],{"class":372},[206,636,396],{"class":376},[206,638,639,641,643,645,647,649,651,653],{"class":208,"line":251},[206,640,401],{"class":364},[206,642,348],{"class":368},[206,644,406],{"class":372},[206,646,409],{"class":376},[206,648,413],{"class":412},[206,650,417],{"class":416},[206,652,420],{"class":412},[206,654,655],{"class":376},"),\n",[206,657,658,660,662,664,666,668,670,672],{"class":208,"line":270},[206,659,432],{"class":364},[206,661,348],{"class":368},[206,663,406],{"class":372},[206,665,409],{"class":376},[206,667,413],{"class":412},[206,669,417],{"class":416},[206,671,445],{"class":412},[206,673,655],{"class":376},[206,675,676,678,680,682,684],{"class":208,"line":453},[206,677,456],{"class":368},[206,679,459],{"class":372},[206,681,390],{"class":368},[206,683,464],{"class":216},[206,685,467],{"class":376},[206,687,688,691,694],{"class":208,"line":470},[206,689,690],{"class":376},"})",[206,692,693],{"class":368},"?",[206,695,377],{"class":376},[206,697,699,702,704,706,708,710,712,715,718],{"class":208,"line":698},7,[206,700,701],{"class":372},"    DetectTextResult",[206,703,390],{"class":368},[206,705,393],{"class":216},[206,707,409],{"class":376},[206,709,310],{"class":364},[206,711,304],{"class":376},[206,713,714],{"class":368}," =>",[206,716,717],{"class":364}," text",[206,719,396],{"class":376},[206,721,723,726,729,732],{"class":208,"line":722},8,[206,724,725],{"class":364},"    _ ",[206,727,728],{"class":368},"=>",[206,730,731],{"class":216}," unreachable!",[206,733,734],{"class":376},"(),\n",[206,736,738],{"class":208,"line":737},9,[206,739,473],{"class":376},[206,741,743,746,748,752,755,758],{"class":208,"line":742},10,[206,744,745],{"class":216},"println!",[206,747,409],{"class":376},[206,749,751],{"class":750},"siCPE","\"{",[206,753,754],{"class":230},"spatial_text",[206,756,757],{"class":750},"}\"",[206,759,760],{"class":376},");\n",[297,762,764],{"id":763},"pada-react-native","Pada React Native",[196,766,770],{"className":767,"code":768,"language":769,"meta":201,"style":201},"language-typescript shiki shiki-themes material-theme-lighter github-light github-dark monokai","const formattedLayout = await detectText(\n  { uri: 'file:\u002F\u002F\u002Fpath\u002Fto\u002Finvoice.jpg' },\n  {\n    output: 'spatial',\n    lineYThreshold: 0.5,\n    wordXThreshold: 0.4,\n  }\n);\nconsole.log(formattedLayout);\n","typescript",[203,771,772,793,816,821,836,848,860,865,872],{"__ignoreMap":201},[206,773,774,777,781,784,787,790],{"class":208,"line":209},[206,775,776],{"class":360},"const",[206,778,780],{"class":779},"s91G_"," formattedLayout",[206,782,783],{"class":368}," =",[206,785,786],{"class":212}," await",[206,788,789],{"class":216}," detectText",[206,791,792],{"class":364},"(\n",[206,794,795,798,802,804,807,810,813],{"class":208,"line":220},[206,796,797],{"class":376},"  {",[206,799,801],{"class":800},"squCx"," uri",[206,803,348],{"class":376},[206,805,806],{"class":750}," '",[206,808,809],{"class":230},"file:\u002F\u002F\u002Fpath\u002Fto\u002Finvoice.jpg",[206,811,812],{"class":750},"'",[206,814,815],{"class":376}," },\n",[206,817,818],{"class":208,"line":251},[206,819,820],{"class":376},"  {\n",[206,822,823,825,827,829,832,834],{"class":208,"line":270},[206,824,382],{"class":800},[206,826,348],{"class":376},[206,828,806],{"class":750},[206,830,831],{"class":230},"spatial",[206,833,812],{"class":750},[206,835,396],{"class":376},[206,837,838,841,843,846],{"class":208,"line":453},[206,839,840],{"class":800},"    lineYThreshold",[206,842,348],{"class":376},[206,844,845],{"class":412}," 0.5",[206,847,396],{"class":376},[206,849,850,853,855,858],{"class":208,"line":470},[206,851,852],{"class":800},"    wordXThreshold",[206,854,348],{"class":376},[206,856,857],{"class":412}," 0.4",[206,859,396],{"class":376},[206,861,862],{"class":208,"line":698},[206,863,864],{"class":376},"  }\n",[206,866,867,869],{"class":208,"line":722},[206,868,304],{"class":364},[206,870,871],{"class":376},";\n",[206,873,874,877,879,882,885],{"class":208,"line":737},[206,875,876],{"class":364},"console",[206,878,417],{"class":376},[206,880,881],{"class":216},"log",[206,883,884],{"class":364},"(formattedLayout)",[206,886,871],{"class":376},[888,889,890],"style",{},"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 .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .s94S9, html code.shiki .s94S9{--shiki-light:#90A4AE;--shiki-default:#E36209;--shiki-dark:#FFAB70;--shiki-sepia:#F8F8F2}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 .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 .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--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 .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 .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--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 .sMTiH, html code.shiki .sMTiH{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}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 .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}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 .squCx, html code.shiki .squCx{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}",{"title":201,"searchDepth":220,"depth":220,"links":892},[893,894,900,903],{"id":193,"depth":220,"text":194},{"id":291,"depth":220,"text":292,"children":895},[896,898],{"id":299,"depth":251,"text":897},"1. Daftar Baris Teks Datar (output: \"lines\")",{"id":321,"depth":251,"text":899},"2. Teks Rekonstruksi Spasial (output: \"spatial\")",{"id":341,"depth":220,"text":342,"children":901},[902],{"id":476,"depth":251,"text":477},{"id":574,"depth":220,"text":575,"children":904},[905,906],{"id":578,"depth":251,"text":579},{"id":763,"depth":251,"text":764},"Cara RustO! merekonstruksi tata letak visual 2D untuk tabel multikolom, faktur, struk, dan formulir.","md",null,{},{"icon":128},{"title":913,"description":907},"Rekonstruksi Tata Letak Spasial - RustO!","n15aXjXbihkeo02J7XrSrr-tZEZPSZ5vnn8colKhdhE",[916,918],{"title":120,"path":121,"stem":122,"description":917,"icon":123,"children":-1},"Dukungan bahasa dan aksara pada RustO!: cakupan bilingual PP-OCRv6 (Mandarin + Latin) serta paket bahasa regional khusus PP-OCRv5 \u002F PP-OCRv4.",{"title":130,"path":131,"stem":132,"description":919,"icon":133,"children":-1},"Panduan penyetelan pra-pemrosesan per permintaan, deteksi DBNet, dilatasi morfologi, dan rasio unclip.",1792905891603]