SANE 扫描仪
sane.* 是 SDK Open 的 Linux 专属扫描仪能力域,用于第三方 SANE 扫描仪发现、插拔监听、会话打开、配置读取与设置、配置记录和扫描任务。
平台行为
SANE 能力只支持 Linux runtime。非 Linux runtime 会保留 sane.* 方法可见性,方便客户端保持统一调用结构;其中 sane.status 返回 available=false,其他 sane.* 方法返回 SANE 不可用错误。
设备列表
sane.list 默认只返回 SANE backend 已识别且可打开的设备。USB/finder 发现结果仅用于触发热插拔刷新和诊断。
需要查看 finder 原始发现结果时,可传入:
json
{
"include_detected": true
}响应会额外返回 detected_devices 和 detected_count。Demo 默认不把这些诊断设备展示为可扫描设备,避免同一台扫描仪出现两行。
扫描任务
sane.scan 是异步任务提交接口,立即返回 accepted、task_id 和 task。通过以下方式跟踪任务:
sane.scan_get:查询任务状态。sane.scan_cancel:取消任务。sane.scan_changed:接收任务事件,包括状态、当前页、转换阶段、完成、失败或取消。
未指定输出目录时,扫描文件会写入 SDK 自己的任务资产目录,根目录可通过 SDK_OPEN_WORK_DIR 调整;旧客户端工作目录不再使用。
SDK 不对 SANE 暴露模拟的预览模式或分页模式。页面行为完全跟随设备参数:
source类似 Flatbed 时扫描一页。source类似 ADF、Feeder 或 Duplex 时持续拉取页面,直到设备返回无纸。
sane.scan 也支持传入图像增强 pipeline。扫描页完成后会先执行增强,再进入导出流程。