Swift软件包 · v0.1.0
KLReadingOrder
根据坐标将OCR结果重新排列为水平或垂直阅读顺序。
KLReadingOrder接收文字、置信度、归一化矩形、页码和原始顺序,返回按阅读顺序分组的行,并保留接入应用提供的候选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
每页独立自动判断方向 · 根据字符尺寸自动调整分组容差