用户可通过该项目实现对支持 AirScan(eSCL)和 WSD 协议的网络扫描仪及多功能一体机的驱动less 扫描。它支持自动设备发现、多种扫描模式,兼容众多品牌设备,且内存占用低。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 5 年前 | ||
| 3 个月前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 9 个月前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 10 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 |
sane-airscan —— 支持 AirScan (eSCL) 和 WSD 文档扫描仪的 SANE 后端
如同大多数现代网络打印机通过通用厂商中立协议实现"免驱动打印",如今许多网络扫描仪和多功能一体机也支持"免驱动扫描"技术。
免驱动扫描主要分为两种模式:
- 苹果 AirScan 或 AirPrint 扫描(官方协议名称为 eSCL)
- 微软 WSD 或 WS-Scan(WSD 即"设备网络服务")
本后端同时实现这两种协议,并能自动切换适配。经实测可完美兼容 Brother、Canon、Dell、Kyocera、Lexmark、Epson、HP、OKI、Panasonic、Pantum、Ricoh、Samsung 和 Xerox 等品牌设备在 WSD 和 eSCL 模式下的工作。
苹果公司为 eSCL 设备维护着兼容设备清单,但需注意该列表不仅包含扫描仪和多功能一体机,也包含纯打印机机型。
本后端无需安装,且不会与厂商专有软件(如佳能的 ScanGear、惠普的 HPLIP 等)产生冲突。
功能特性
- 单一后端支持 eSCL 和 WSD 双协议
- 支持自动/手动设备发现与配置
- 支持平板/ADF 进纸器扫描,单双面扫描模式,ADF 多页连续扫描
- 支持彩色与灰度扫描模式
- 逐行图像解压技术,内存占用更优
- 硬件级快速取消扫描操作
- 全面支持 IPv4/IPv6 网络协议
兼容性
理论上所有支持 eSCL 和 WSD 的扫描仪均可使用。下表为实际测试设备清单,若您的设备未列其中但能正常工作,欢迎反馈。
多数设备通过有线网络测试。但所有 eSCL 设备在安装 IPP-over-USB 守护程序后均可通过 USB 连接使用,而仅支持 WSD 的设备无法通过 IPP-over-USB 使用。
IPP-over-USB 通常随 ipp-usb 软件包默认安装。若您的系统未预装,请访问项目主页获取:ipp-usb
图例说明:
- Yes - 设备完全兼容
- No - 设备不支持该协议
- ? - 用户报告可用但未明确协议支持
- 空格 - 该模式/设备组合无测试数据
| 设备型号 | eSCL 模式 | WSD 模式 |
|---|---|---|
| Brother ADS-2700W | No | Yes |
| Brother ADS-4300N | Yes | Yes |
| Brother DCP-7055W | No | Yes |
| Brother DCP-7070DW | No | Yes |
| Brother DCP-9020CDW | No | Yes |
| Brother DCP-J552DW | No | Yes |
| Brother DCP-L2540DW | No | Yes |
| Brother DCP-L2550DN / DCP-L2550DW | Yes | |
| Brother HL-L2380DW 系列 | No | Yes |
| Brother HL-L2395DW 系列 | Yes | |
| Brother MFC-7360N | No | Yes |
| Brother MFC-8710DW | No | Yes |
| Brother MFC-J1012DW | Yes | |
| Brother MFC-J1300DW | Yes | |
| Brother MFC-J4410DW | No | Yes |
| Brother MFC-J4540DW | Yes | |
| Brother MFC-J4620DW | No | Yes |
| Brother MFC-J470DW | No | Yes |
| Brother MFC-J485DW | Yes | |
| Brother MFC-J625DW | No | Yes |
| Brother MFC-L2700DW | No | Yes |
| Brother MFC-L2710DN 系列 | No | Yes |
| Brother MFC-L2710DW | Yes | Yes |
| Brother MFC-L2720DW | No | Yes |
| Brother MFC-L2750DW | Yes | Yes |
| Brother MFC-L3740CDWE | Yes | |
| Brother MFC-L3750CDW | No | Yes |
| Brother MFC-L3780CDW | No | Yes |
| Brother MFC-T910DW | Yes | Yes |
| Canon D570 | Yes | |
| Canon G600 系列 | Yes | |
| Canon imageCLASS MF642C/643C/644C | Yes | |
| Canon imageCLASS MF743cdw | Yes1 | |
| Canon imageRUNNER 2625/2630 | Yes | Yes |
| Canon imageRUNNER ADVANCE 4545/4551 | Yes | Yes |
| Canon imageRUNNER ADV C5550/5560 | Yes | |
| Canon imageRUNNER C3120L | Yes | Yes |
| Canon i-SENSYS MF4780w | No | Yes4 |
| Canon i-SENSYS MF641C | No | Yes2 |
| Canon LiDE 300 | Yes3 | |
| Canon LiDE 400 | Yes3 | |
| Canon MB5100 系列 | Yes | |
| Canon MB5400 系列 | Yes | Yes |
| Canon MF110/910 | Yes | |
| Canon MF240 系列 | No | Yes4 |
| Canon MF260 系列 | Yes | Yes4 |
| Canon MF410 系列 | Yes | Yes |
| Canon MF440 系列 | Yes | Yes |
| Canon MF645Cx | Yes | |
| Canon MF650C 系列 | Yes | |
| Canon MF745C/746C | Yes | Yes |
| Canon MG5200 系列 | No | Yes |
| Canon MG5300 系列 | No | Yes |
| Canon MX470 系列 | No | Yes |
| Canon PIXMA G3000 系列 | No | Yes |
| Canon PIXMA G4010 系列 | Yes3 | |
| Canon PIXMA MG3600 系列 | Yes | |
| Canon PIXMA MG5500 系列 | No | Yes |
| Canon PIXMA MG7700 系列 | Yes | |
| Canon PIXMA TS5000 系列 | Yes | |
| Canon PIXMA TS 9550 系列 | Yes | |
| Canon TR4529 (PIXMA TR4500 系列) | Yes | Yes |
| Canon TR4700 系列 | Yes | |
| Canon TR7500 系列 | No | Yes |
| Canon TR8600 扫描仪 | Yes | |
| Canon TS 3100 | Yes | |
| Canon TS 3300 | Yes | |
| Canon TS 3400 系列 | Yes | |
| Canon TS 6151 | Yes | |
| Canon TS 6200 系列 | Yes | Yes |
| Canon TS 6300 系列 | Yes | |
| Canon TS 6400 系列 | Yes | |
| Canon TS 8230 系列 | No | Yes |
| Dell C1765nfw 彩色一体机 | No | Yes |
| Dell C2665dnf 彩色激光打印机 | No | Yes |
| Dell C3765dnf 彩色一体机 | No | Yes |
| Dell E514dw | 否 | 是 |
| EPSON ET-2650 系列 | 是 | 是 |
| EPSON ET-2710 系列 | 否 | 是 |
| EPSON ET-2750 系列 | 是 | |
| EPSON ET-2760 系列 | 是 | |
| EPSON ET-2810 系列 | 否 | 是 |
| EPSON ET-2850 系列 | 是 | |
| EPSON ET-3750 系列 | 是 | |
| EPSON ET-4750 系列 | 否 | 是 |
| EPSON ET-4850 系列 | 是 | |
| EPSON ET-M2170 系列 | 是 | |
| EPSON L6570 系列 | 是 | 是 |
| EPSON Stylus SX535WD | 否 | 是 |
| EPSON WF-2760 系列 | 是 | |
| EPSON WF-3620 系列 | 否 | 是 |
| EPSON WF-7710 系列 | 否 | 是 |
| EPSON XP-2100 系列 | 否 | 是 |
| EPSON XP-340 系列 | 是 | |
| EPSON XP-352 355 系列 | 否 | 是 |
| EPSON XP-442 445 系列 | 是 | |
| EPSON XP-5100 系列 | 是 | |
| EPSON XP-6100 系列 | 是 | |
| EPSON XP-7100 系列 | 是 | |
| EPSON XP-8600 系列 | 是 | |
| HP Color Laserjet MFP 178 178 | 是 | |
| HP Color LaserJet MFP M182nw | 是 | |
| HP Color LaserJet MFP M281fdw | 是 | |
| HP Color LaserJet MFP M283fdw | 是 | |
| HP Color LaserJet MFP M477fdw | 是 | 是 |
| HP Color LaserJet Pro M478f-9f | 是 | |
| HP Color LaserJet Pro MFP M277dw | 是 | |
| HP DeskJet 2540 | 是 | |
| HP DeskJet 2600 系列 | 是 | |
| HP DeskJet 2700 系列 | 是 | |
| HP Deskjet 3520 系列 | 是 | |
| HP DeskJet 3700 系列 | 是 | |
| HP DeskJet 4100 系列 | 是 | |
| HP DeskJet 5000 系列 | 是 | |
| HP DeskJet 5200 系列 | 是 | |
| HP ENVY 4500 | 是 | |
| HP ENVY 5055 系列 | 是 | |
| HP ENVY 5530 系列 | 是 | |
| HP ENVY 5540 | 是 | |
| HP ENVY 5640 | 是 | |
| HP ENVY 6000 系列 | 是 | |
| HP ENVY Photo 6200 系列 | 是 | |
| HP ENVY Photo 7800 系列 | 是 | |
| HP ENVY Pro 6400 系列 | 是 | |
| HP Color Laser MFP M178nw | 是 | |
| HP LaserJet 200 colorMFP M276n | 否 | 是 |
| HP LaserJet MFP E62655 | 是 | |
| HP LaserJet MFP M130fn | 是 | 是 |
| HP LaserJet MFP M130fw | 是 | 是 |
| HP LaserJet MFP M140w | 是 | |
| HP LaserJet MFP M227sdn | 是 | |
| HP LaserJet MFP M426dw | 是 | |
| HP LaserJet MFP M630 | 是 | |
| HP LaserJet Pro M28a | 是3 | |
| HP LaserJet Pro M28w | 是 | 是 |
| HP LaserJet Pro M329 | 是9 | |
| HP LaserJet Pro MFP 148fdw | 是 | |
| HP LaserJet Pro MFP M125 系列 | 否 | 是 |
| HP LaserJet Pro MFP M127fn | 否 | 是 |
| HP LaserJet Pro MFP M225dn | 否 | 是 |
| HP LaserJet Pro MFP M428dw | 是9 | |
| HP LaserJet Pro MFP M521 系列 | 否 | 是 |
| HP Laser MFP 131 133 135-138 | 是 | |
| HP Neverstop Laser MFP 1202nw | 是 | |
| HP OfficeJet 3830 系列 | 是 | |
| HP Officejet 4630 | 是 | |
| HP Officejet 5740 系列 | 是 | |
| HP Officejet Pro 6970 | 是 | |
| HP OfficeJet Pro 6978 | 是 | |
| HP OfficeJet Pro 7740 | 是 | 否 |
| HP OfficeJet Pro 8010 系列 | 是 | |
| HP OfficeJet Pro 8020 系列 | 是 | |
| HP OfficeJet Pro 8730 | 是 | 是 |
| HP OfficeJet Pro 9010 系列 | 是 | |
| HP ScanJet Pro 2000 s2 | 是3 | |
| HP ScanJet Pro 3500 fn1 | 是3 | |
| HP ScanJet Pro 4500 fn1 | 是 | |
| HP Smart Tank 5100 系列 | 是 | |
| HP Smart Tank Plus 550 系列 | 是 | |
| Kyocera ECOSYS M2035dn | 否 | 是5 |
| Kyocera ECOSYS M2040dn | 是 | 是5 |
| Kyocera ECOSYS M2640idw | 是 | 是5 |
| Kyocera ECOSYS M5521cdw | 是 | 是5 |
| Kyocera ECOSYS M5526cdw | 是 | |
| Kyocera FS-1028MFP | 否 | 是5 |
| Kyocera TASKalfa 3051ci | 是5 | |
| Lexmark CX317dn | 是6 | 是6 |
| Lexmark MB2236adw | 是 | |
| Lexmark MC2535adwe | 是 | |
| Lexmark MC3224adwe | 是 | |
| Lexmark MC3326adwe | 是 | |
| OKI-MB471 | 否 | 是 |
| OKI-MC332dn | 否 | 是 |
| OKI-MC362dn | 否 | 是 |
| OKI-MC853 | 是 | |
| Panasonic KV-S1058Y | 否 | 是 |
| Pantum BM5100ADW 系列 | 是 | 是 |
| Pantum M6500W 系列 | 是 | |
| Ricoh MP C3003 | 否 | 是7 |
| Samsung M2070 系列 | 否 | 是 |
| Samsung M267x 287x 系列 | 否 | 是 |
| 三星 M288x 系列 | 否 | 是 |
| 三星 M337x 387x 407x 系列 | 否 | 是8 |
| 三星 SCX-3400 系列 | 否 | 是 |
| 夏普 MX-3060N | 是9 | |
| 施乐 B205 | 是 | 是 |
| 施乐 B215 | 是 | 是10 |
| 施乐 C235 | 是 | |
| 施乐 VersaLink B405 | 是 | |
| 施乐 WorkCentre 3025 | 否 | 是 |
| 施乐 WorkCentre 6027 | 否 | 是10 |
| 施乐 WorkCentre 6515 | 是 | |
| 待办事项 |
[1]: 此设备需通过网页控制台手动启用AirPrint扫描功能:主页->菜单->首选项->网络->TCP/IP设置->网络链接扫描设置->开启。
[2]: 本设备需手动启用WS扫描功能:主页->菜单->首选项->网络->TCP/IP设置->WSD设置->使用WSD扫描->开启
[3]: 此设备仅支持USB连接,但可通过IPP-over-USB守护程序良好运行。
[4]: 默认情况下该设备禁用WS扫描,使用前需启用:打开网页控制台,点击[设置/注册],选择[网络设置]->[TCP/IP设置],在[WSD设置]中点击[编辑],勾选[使用WSD扫描]复选框,点击[确定]。
[5]: 此设备需通过前面板手动操作启动WSD扫描:发送->WSD扫描->从计算机
[6]: 内存不足时,本设备可能以400 DPI而非请求的600 DPI进行扫描。由于sane-airscan在实际接收图像前向SANE报告参数,随后调整实际图像至报告参数,此时图像将按2/3比例缩小。较低分辨率运行正常。
[7]: 默认禁用WS扫描,启用方法:打开网页控制台,点击[配置],在[扫描仪]下选择[初始设置],将[禁止WSD扫描命令]设为[不禁止](详见http://support.ricoh.com/bb_v1oi/pub_e/oi_view/0001047/0001047003/view/scanner/int/0095.htm)
[8]: 旧固件(测试版本V4.00.01.04 2013年4月9日)使用ADF扫描会导致设备重启。固件升级可解决,已知V4.00.02.20 2020年5月27日版本正常。
[8]: 需手动启用eSCL功能:系统设置->网络设置->AirPrint设置->Airscan
[9]: 默认禁用远程扫描和IPP-over-USB功能。在嵌入式网页服务器中:设置->安全->管理员设置->启用计算机或移动设备扫描->应用
[10]: 默认禁用WSD扫描。在嵌入式网页服务器中:属性->连接性->协议->WSD->启用
预装sane-airscan的发行版
以下发行版(按字母顺序)官方包含sane-airscan:
- ALT Linux(Sisyphus和p9)
- Arch Linux(extra仓库)
- Debian 10+
- Fedora 32+
- Gentoo(emerge media-gfx/sane-airscan)
- NixOS
- Ubuntu 20.10+
该列表持续更新且可能不完整。
此外,sane-airscan支持BSD系统,并已纳入FreeBSD、NetBSD和OpenBSD的ports。
预编译二进制安装
若您使用以下Linux发行版:
- Debian(9.0和10)
- Fedora(29、30、31和32)
- openSUSE(Leap和Tumbleweed)
- Ubuntu(16.04、18.04、19.04、19.10和20.04)
点击此链接获取软件包及详细安装说明。
注意:新构建后链接更新可能延迟,若遇"资源不可用"问题,可直接访问仓库:https://download.opensuse.org/repositories/home:/pzz/
强烈建议选择"添加仓库并手动安装"而非"直接获取二进制包",以便自动更新sane-airscan。
Linux Mint用户可选用对应Ubuntu版本包:
- Linux Mint 18.x - 使用Ubuntu 16.04包
- Linux Mint 19.x - 使用Ubuntu 18.04包
- Linux Mint 20.x - 使用Ubuntu 20.04包
特别感谢openSUSE构建服务提供打包基础设施。
若您的发行版未列出,请参阅下文从源码安装章节。
从源码安装
安装依赖库 - Fedora及类似系统
以root权限执行以下命令:
dnf install gcc git make pkgconf-pkg-config
dnf install avahi-devel
dnf install libxml2-devel
dnf install libjpeg-turbo-devel libpng-devel libtiff-devel
dnf install gnutls-devel
dnf install sane-backends-devel
安装必备库 - Ubuntu、Debian 及类似系统
以 root 身份执行以下命令:
apt-get install gcc git make pkg-config
apt-get install libavahi-client-dev
apt-get install libxml2-dev
apt-get install libjpeg-dev libpng-dev libtiff5-dev
apt-get install libsane-dev
apt-get install gnutls-dev
下载、构建并安装 sane-airscan
git clone https://github.com/alexpevzner/sane-airscan.git
cd sane-airscan
make
make install
贡献指南
我们欢迎并衷心感谢所有符合以下条件的贡献:
- 您提议的功能对多数用户具有普遍价值
- 代码格式规范且质量优良
请注意,本项目设有两个分支:
- 稳定分支:https://github.com/alexpevzner/sane-airscan
- 开发分支:https://github.com/alexpevzner/sane-airscan-unstable
稳定分支主要接受错误修复和代码改动较小的次要功能。重大功能请提交至开发分支。
付费咨询
若您的业务依赖本项目,且需要当前未实现的特定功能,可考虑付费委托我进行定制开发。
PVS-Studio
PVS-Studio 是一款支持 C、C++、C# 和 Java 的静态代码分析工具。
我曾在该工具的俄语开发者论坛与作者交流,承诺若其工具能在代码中发现有价值的问题,将在此处推荐他们的项目。最终该工具确实发现了若干真实缺陷,故特此履行承诺 😃
如今我定期使用 PVS-Studio 检测代码,效果显著。虽然这是商业软件,但他们为开源项目提供免费授权。
提交缺陷报告
请通过新建 GitHub Issue 提交问题。
为有效定位问题,请按以下步骤操作:
- 在 /etc/sane.d/airscan.conf 配置文件中添加下列条目,启用 sane-airscan 的协议追踪功能:
[debug]
trace = ~/airscan/trace ; Path to directory where trace files will be saved
您可以使用任意目录路径,前提是您拥有创建和写入该目录的足够权限。该目录将自动创建。
-
重现问题。请注意,在重现问题时请勿使用任何机密文档,因为其内容将对他人可见。
-
仔细描述问题
-
在您指定为跟踪参数的目录中,将会生成两个文件。假设您使用的是 xsane 程序且设备名称为 "Kyocera MFP Scanner",则文件名将为 "xsane-Kyocera-MFP-Scanner.log" 和 "xsane-Kyocera-MFP-Scanner.tar"。请将这两个文件一并附加到新提交的问题中。
参考资料
eSCL 协议虽未公开文档化,但该协议基于 HTTP 和 XML 构建,结构简单且易于逆向工程。网络上有大量与该协议相关的资源,其中特别推荐以下链接:
- kno10/python-scan-eSCL - 一个微型 Python 脚本,支持从兼容 eSCL 的扫描仪获取扫描件
- SimulPiscator/AirSane - 该项目解决了反向需求,可将任何兼容 SANE 的扫描仪转换为 eSCL 服务器。作者声明其兼容 Mopria 和 Apple 客户端
- markosjal/AirScan-eSCL.txt - 基于逆向工程整理的 eSCL 协议说明文档。内容虽不完整且偶有偏差,但提供了良好的入门指引
项目介绍
用户可通过该项目实现对支持 AirScan(eSCL)和 WSD 协议的网络扫描仪及多功能一体机的驱动less 扫描。它支持自动设备发现、多种扫描模式,兼容众多品牌设备,且内存占用低。【此简介由AI生成】
https://gitcode.com/openharmony-sig/third_party_sane-airscan定制我的领域