Skip to content

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_devicesdetected_count。Demo 默认不把这些诊断设备展示为可扫描设备,避免同一台扫描仪出现两行。

扫描任务

sane.scan 是异步任务提交接口,立即返回 acceptedtask_idtask。通过以下方式跟踪任务:

  • 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。扫描页完成后会先执行增强,再进入导出流程。

CZUR Open Platform Documentation