[Share Experiences] Linux 扫描仪配置与使用攻略
Tofloor
poster avatar
流浪的加菲
deepin
2024-08-30 10:57
Author

先前给大家分享过在Linux上配置打印机器的教程:如何在 Linux 下愉快的配置和使用打印机

其实,扫描仪的使用和打印机一样,也是办工场合必不可少的技能——将纸质文书、票据、照片等扫描成电子档存档和发送也是工作的一环!applaud

如果你使用 Windows 与 macOS,有厂商的驱动和配套软件助力,一切轻而易举。然而,如果你使用的是 Linux 发行版,就没那么方便了,因为 Linux 平台通常不受厂商重视,很少有厂商会精心为 Linux 平台开发驱动程序与扫描软件。shamed

在国家八大支柱行业推动操作系统国产化替换的背景下,越来越多的政企、单位开始使用统信UOS等国产化操作系统,在Linux 平台上使用扫描仪的场景会越来越多,这无疑给普通上班人员甚至运维人员出了一系列难题。好在Linux 发行版本身就有一套跨厂商的成熟解决方案——SANE,满足你在 Linux 下扫描的刚需。

Linux 的扫描仪支持

1)基础设施:SANE

SANE(Scanner Access Now Easy,「扫描易」),是一套用于操作图像采集设备的标准化 API,为 UNIX / 类 UNIX 环境(例如 Linux 发行版)量身打造,可操作的设备包括扫描仪、相机、摄像头等。

对于开发者来说,SANE 是一套通用的编程接口,适用于理论上所有的扫描仪,有助于简化扫描软件的开发工作,并提升用户的体验;

对于一般用户来说,SANE 的意义更加显著——它担负着为各大 Linux 发行版提供扫描支持的使命,让你的扫描仪开箱即用,免去繁琐的配置。

2)网络扫描协议:eSCL

熟悉 Linux 网络打印机配置的读者,会使用 IPP、LPD 这两种协议来连接网络打印机。而在扫描仪领域,也有着自己的「IPP」协议,那就是 eSCL(Extended Standard Client/Server Language,扩展标准下的客户端/服务端语言),又称为「AirScan」。这是由 Mopria 组织开发的协议,基于 XML 与 HTTP。

和 IPP 一样,使用 eSCL,你无须安装扫描仪驱动,就可以通过以太网、WLAN 和 USB 来连接扫描仪进行扫描。包括惠普、佳能、兄弟、爱普生在内的多家知名厂商都是 Mopria 组织的成员,其产品对该协议提供了完备支持。

3)扫描软件

SANE 与 eSCL 本身属于基础设施,要想实现扫描功能,还需要相应的扫描软件。目前 Linux 平台下有两款免费、开源、实用的扫描软件,理论上适用于所有扫描仪,无须考虑各厂商各型号之间的差异。

  • Simple Scan:由 GNOME 项目组开发的一款简易、实用的扫描工具,多为主流发行版自带,deepin 23 上也预装了此软件
  • Skanlite:由 KDE 项目组开发的扫描工具,界面类似于 Epson Scan 2 与 Windows 自带的扫描工具,支持预览(即「预扫描」),倾向于单页扫描。
  • Skanpage:由 KDE 项目组开发的扫描工具,主要为多页扫描而优化。
  • NAPS2(Not a PDF Scanner 2):由 CyanFish 开发的跨平台、多功能扫描工具,比 Simple Scan 功能更丰富,提供了图片裁切、OCR 等高级功能,支持导出的格式更多。

你可以根据自己的实际需要来选择。为便于大家快速上手,下文选用 Simple Scan 作为扫描程序。

准备工作:安装必要的软件包

想要顺畅地使用 SANE 来进行扫描,首先要安装一系列软件包。

一般地,像 Ubuntu、deepin这样的「新手向」发行版,安装时就已经配置好了 SANE 与 Simple Scan,开箱即用。是的,你没有看错,在deepin 23 上是可以直接使用扫描仪,deepin 23 已经为大家预装了 SANE 与 Simple Scan。而使用而对于 Arch Linux、Gentoo 等「玩家向」的发行版,则需要自行配置。

1)安装 SANE

通常 SANE 主要包含以下软件包:

软件包名 说明
sane SANE 的核心组件,提供了基本的扫描仪支持。必须安装。
sane-airscan 用于支持网络扫描仪的后端组件,支持 eSCL 与 WSD 两种技术。要使用网络扫描仪,该组件必须安装。
libinsane 用于检测扫描仪的组件。为了帮助你检测 USB 扫描仪,建议安装。
colord-sane 用于管理扫描仪色彩配置的组件,Simple Scan 等扫描软件依赖它工作。

各大 Linux 发行版基本都收录了 SANE,按照以下命令安装。常用的发行版安装命令如下:

# Arch Linux
sudo pacman -Sy sane sane-airscan libinsane

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install libsane-common libsane1 sane-airscan libinsane1
sudo apt install sane-utils                 # SANE的实用工具(可选,面向专业用户)
sudo apt install libsane-hpaio              # 面向惠普多功能一体机的支持组件(可选)

# OpenSUSE
sudo zypper install libsane1 sane-airscan libinsane1
sudo zypper install sane-backends                 # SANE的后端支持组件
sudo zypper install sane-backends-autoconfig      # 用于自动配置USB打印机的组件
sudo zypper install hplip-sane                    # 面向惠普扫描仪与多功能一体机的支持组件(可选)
sudo zypper install sane-saned                    # SANE的网络服务器,用于共享本机的扫描仪(可选)

# Fedora
sudo dnf install sane-backends sane-frontends sane-airscan libinsane
sudo dnf install sane-backends-drivers-scanners   # SANE的扫描仪后端驱动
sudo dnf install sane-backends-drivers-cameras    # SANE的照相机后端驱动(可选)
sudo dnf install libsane-hpaio                    # 面向惠普扫描仪与多功能一体机的支持组件(可选)

注:不同发行版的软件包名、软件包的组成差异极大,若没有标注「可选」,则为必须安装的组件。

一般情况下,若连接本地与网络扫描仪,上述必选的软件包在安装后即可使用,无须进一步配置。若你使用惠普推出的扫描仪与一体机,可能还需要安装 HPLIP,以及额外的软件包(已在上面的代码块中列出);Arch Linux 的 sane软件包已经整合了惠普扫描仪的支持,无须安装 libsane-hpaio这类软件包。

2)安装主机解析工具 nss-mdns

与 CUPS 一样,SANE 也使用Avahi来搜索网络打印机。Avahi 是 Linux 上用于搜索网络设备的客户端(基于 mDNS/DNS-SD 协议),兼容苹果的Bonjour 服务。

但是,在有的电脑上,光有 Avahi 还不够——或许能搜索到扫描仪,但是只能解析扫描仪的主机名,无法解析主机名对应的 IP 地址。主机名并不是域名,仅靠主机名,没有 IP 地址,你是连不上扫描仪的。sweat

为了补齐这一短板,我们还需要安装 nss-mdns 软件包,它为 Avahi 提供解析网络打印机、扫描仪等网络设备 IP 地址的支持。由于该软件包只是 Avahi 的可选包,我们必须手动安装。

#  Arch Linux
sudo pacman -Sy nss-mdns

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install libnss-mdns

# OpenSUSE
sudo zypper install nss-mdns

# Fedora
sudo dnf install nss-mdns

3)安装扫描软件

GNOME 的 Simple Scan,以及 KDE 的两款扫描软件,通常都收录在主流发行版的软件仓库里,你可以直接安装,根据你的实际需要选择一款:

# Arch Linux
sudo pacman -Sy simple-scan
sudo pacman -Sy skanpage skanlite

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install simple-scan
sudo apt install skanpage skanlite

# OpenSUSE
sudo zypper install simple-scan
sudo zypper install skanpage skanlite

# Fedora
sudo dnf install simple-scan
sudo dnf install skanpage skanlite

安装完成后,你可以在桌面或者启动器(类似Windows“开始”菜单)中找到这些软件,Simple Scan 对应的软件名称为「文档扫描器」,deepin 23 预装如下图:

企业微信截图_17249855236583.png

另一款扫描工具 NAPS2 没有收录在软件仓库中,需要去NAPS2官网下载。不过 Arch Linux 的 AUR 则有收录,你可以使用yay来安装:yay -S naps2-bin

安装驱动程序

在 Linux 下,SANE 扫描仪的配置要比 CUPS 的打印机配置简单得多,因为:

  • 如果你使用 eSCL 方式连接网络扫描仪,则根本不需要安装驱动——这是行业标准,不依赖任何驱动程序。
  • SANE 本身也是通用型的驱动程序(unified driver)。相较于 CUPS,SANE 对具体硬件驱动的依赖更少。

不过,如果你使用 USB 方式连接部分型号的扫描仪,则计算机可能会无法识别,这时你需要安装驱动程序**。你可以通过以下两种方式来查找驱动程序。

1)品牌官网

以爱普生、佳能为代表的扫描仪/一体机品牌提供了完备的跨平台支持,提供了 Linux 平台下的驱动。你可以在品牌官方网站的「技术支持」板块下载,这里不再展开。

需要注意的是,有些厂商「驱动程序」本身还要依赖 SANE,因为这些「驱动程序」本质上是厂商提供的扫描软件,例如爱普生的 Linux 打印机「驱动程序」其实就是 Epson Scan 2 的 Linux 版本。

1724985806138.jpg

2)Arch Linux 用户:可以从软件源安装

如果你使用 Arch Linux 及其衍生版(Manjaro、SteamOS 等),查找驱动要更为方便。AUR 是个大宝库,部分厂商的驱动程序收录在其中。

注意:在继续之前,请确保你安装了AUR助手,例如yay。下文将使用 Yay 来演示。

第一步,查找驱动是否被收录。

为了确保你的目标品牌驱动程序有收录,你需要先用 yay -Ss来检索扫描仪品牌名称。该命令同时也会检索 Arch Linux CN 源的内容。

例如,可分别使用以下四个命令,检索兄弟(Brother)、佳能(Canon)、爱普生(Epson)、三星(Samsung)这四个品牌的驱动程序:

yay -Ss brother
yay -Ss canon
yay -Ss epson
yay -Ss samsung

随后 Yay 会自动检索 AUR 软件源。以三星为例,翻阅检索结果可发现,AUR 收录了三星的通用扫描仪驱动,如下所示:

...
aur/samsung-unified-driver-scanner  1.00.39-7 (+10 0.07) 
    Samsung Unified Linux Driver for scanners.
aur/samsung-unified-driver 1.00.39-7 (+7 0.00) 
    Samsung Unified Linux Driver for printers and scanners.
...

再以兄弟为例,AUR 也收录了兄弟的通用扫描仪驱动 brscan,还是明确为 SANE 开发的。这里需要注意,brscan有多个版本,不同的兄弟扫描仪、一体机适用的 brscan版本可能不同,建议全部安装:

...
aur/brscan5 1.3.3_0-0 (+28 0.31)
    SANE drivers from Brother for compatible models
aur/brscan2 0.2.5_1-1 (+38 0.00)
    SANE driver from Brother for brscan2 models
aur/brscan3 0.2.13_1-9 (+70 0.00) (Orphaned)
    Brother SANE drivers for brscan3-compatible models
aur/brscan4 0.4.11_1-2 (+164 0.50)
    SANE drivers from Brother for compatible models
...

从上面两个例子可见,厂商的扫描仪驱动并不像 CUPS 驱动那样要为具体型号「量身定做」,相反多为一个驱动「通吃」该厂商几乎所有型号。

第二步,安装驱动程序。

例如,分别安装三星、兄弟的通用扫描仪驱动:

yay -S samsung-unified-driver-scanner
yay -S brscan5 brscan2 brscan3 brscan4

随后按提示操作即可。

开始使用 Simple Scan 扫描

软件安装完成后,我们就可以着手开始扫描了。

1)连接扫描仪

Simple Scan 启动时,会自动检测连接到电脑上的扫描仪,包括有线和无线扫描仪。这一过程需要一些时间,稍等片刻即可扫描完成。

1724986003219.jpg

完成后,Simple Scan 会提示「扫描准备就绪」,并列出计算机上已连接的扫描仪(位于界面中的下拉框)。选择你想连接的扫描仪。本例中,笔者使用的是兄弟的一体机 DCP-B7535DW,以无线方式连接到电脑,因此选用 eSCL 协议。

1724986046039.jpg

2)开始扫描

接下来,我们点击界面左上角的「扫描」按钮。点击之后,扫描仪立即工作,开始扫描——在我的电脑上,几乎是点击的一瞬间,一体机就有了反应,自动开始扫描。

稍等片刻,扫描完成,扫描结果实时展现在屏幕上。如下图所示:

1724986078349.jpg

如果你还想继续扫描新的页面,则再次点击界面左上角的「扫描」按钮。扫描所得的页面会一字排开,你可以在底部工具栏旋转页面方向,也可以删除页面。

Simple Scan 不提供预览(即「预扫描」)功能。点击「扫描」按钮就是正式的扫描。

另外喜欢钻研的同学可以继续研究图像采集标准——TWAIN,它是SANE的竞争对手。


原文:终于可以愉快地扫描了:Linux 扫描仪配置与使用攻略

原作者:爱拼安小匠

Reply Favorite View the author
All Replies
流浪的加菲
deepin
2024-08-30 10:58
#1

在deepin上使用扫描仪比打印机方便啊

Reply View the author
hanzn-zzx
deepin
2024-08-30 12:22
#2

like不过好像我华为打印扫描一体的好像不太管用……

Reply View the author
流浪的加菲
deepin
2024-08-30 16:40
#3
hanzn-zzx

like不过好像我华为打印扫描一体的好像不太管用……

复合型的应该算打印机了,是复杂些,我这边佳能iR2625装个驱动就行了,但是打印机的IP地址是公司直接给,不是自己解析的

Reply View the author
185******26
deepin
2024-09-03 10:23
#4

NAPS2好用。V23里自带的文档扫描仪和办公室的佳能MF720C死活配合不上,扫单张就只出来个头,扫多张就直接失败。装了NAPS2立马解决了,单张多张都很顺利,就是设置上繁琐点。

Reply View the author
流浪的加菲
deepin
2024-09-03 15:05
#5
185******26

NAPS2好用。V23里自带的文档扫描仪和办公室的佳能MF720C死活配合不上,扫单张就只出来个头,扫多张就直接失败。装了NAPS2立马解决了,单张多张都很顺利,就是设置上繁琐点。

哈哈,Simple Scan 不好用吗😂

Reply View the author
155******69
deepin
2024-09-24 16:23
#6

统信uos,倒在了第一步安装sane,请问这个怎么办呢

image.png

Reply View the author