Swift套件 · v0.1.0
KLReadingOrder
根據座標將OCR結果重新排列為橫向或直向閱讀順序。
KLReadingOrder接收文字、信心值、正規化矩形、頁碼與原始順序,回傳依閱讀順序分組的行,並保留整合端App提供的候選ID。套件不執行OCR,也不分析文件內容。
功能
- 橫排由上至下、行內由左至右
- 直排按欄由右至左、欄內由上至下
- 每頁獨立自動判斷方向
- 依字元尺寸自動調整分組容差
不包含的功能
套件不執行OCR、旋轉或透視校正,也不負責信心值篩選、語言辨識、表格擷取與語意分析。同一頁的所有矩形必須使用相同的正規化座標系。
透過SwiftPM安裝
Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLReadingOrder.git", from: "0.1.0")使用方式
整合範例Swift
let engine = ReadingOrderEngine()
let lines = engine.reconstruct(
candidates: observations,
preferredDirection: .unknown
)
for line in lines {
print(line.text)
}API文件
開啟完整API文件。ReadingOrderEngine同步完成過濾、分頁、方向判斷、分組、排序與結果合併,不進行I/O。
ReadingOrderPolicy提供可調整的幾何閾值與預設值。
ReadingOrderLine保存排序後的候選ID、合併矩形、串接文字、平均信心值、頁碼與最終方向。
範例App
Reading Flow
橫排由上至下、行內由左至右 · 直排按欄由右至左、欄內由上至下
Layout Comparator
每頁獨立自動判斷方向 · 依字元尺寸自動調整分組容差