经济型极客 - 扫描探险
和许多极客一样,我梦想着无纸化办公室。我不知道这个词组是什么时候开始流行的,但是快速浏览一下我的家庭和工作办公室,让我确信这仍然遥遥无期。更糟糕的是,传真机作为一种商业通讯手段,似乎是一种拒绝消亡的僵尸技术。当我与企业打交道时,他们总是兴高采烈地告诉我把东西传真到他们提供的号码。这当然很好,但是由于我切换到了 VoIP(IP 语音),它不支持传真,我不得不比我愿意承认的更频繁地去当地的 Kinko's。时代在进步,现在许多企业都接受带有文档扫描件的 PDF 文件。这让我既高兴又害怕。我很高兴不必寻找带有传真机的座机,但我害怕在 Linux 下扫描。我已经很久(几年)没有做这件事了,主要是因为我的经历非常糟糕和令人沮丧,我决心把它作为我在 Linux 下无法完成的事情之一。
您可能已经有一个扫描仪放在身边,但我没有。我在互联网上搜索,所有的线索都指向 SANE(Scanner Access Now Easy)网站,所以我就从那里开始。SANE 是与扫描仪和扫描相关信息的主要信息交换中心。它有一个很大的设备列表,显示了它们的支持程度,但是这个列表并没有看起来那么有用,主要是因为它侧重于列出所有已知可以工作的扫描仪,包括许多已经停产的扫描仪。我花了很多时间试图找到一个既在列表上又能从 Amazon.com 上买到的扫描仪。然后我发现最好的方法是去 Ubuntu 论坛搜索推荐的扫描仪。如果您使用其他发行版,请查看其论坛,或者假设如果它适用于 Ubuntu,它也适用于任何其他现代发行版(尽管这并不总是万无一失的)。我的主要标准是尺寸(越小越好)、USB(现在还有其他接口吗?)和便宜(低于 100 美元)。
经过一番搜索,我找到了对 Epson v300 和 Epson v500 的推荐。在 Amazon.com 上,v300 的售价为 89 美元,v500 的售价为 165 美元。我确信 v500 很棒,但考虑到我主要想用它来扫描文档,我认为我不需要花双倍的价钱。我有点困惑,因为这款扫描仪被称为照片扫描仪,但尺寸显示它可以扫描整张标准信纸。它甚至还有一个铰链,所以你可以从书本上扫描。
我把扫描仪连接到电脑上。我不确定我期望发生什么,但什么也没发生。我意识到我需要一些东西来实际使用扫描仪。事实证明,“扫描仪”这个词更多地指的是安全扫描仪,而不是图像扫描仪。这使得查找软件变得有点困难。我发现我已经安装了 sane 和 xsane 的软件包。xsane 是 SANE 库的图形前端,它为您提供了一个 GUI 来控制您的扫描仪。因为它已经安装好了,所以我从 xsane 开始。一开始,我就遇到了一个问题。默认情况下,xsane 连接到 /dev/video0,那是我的网络摄像头。
经过进一步的研究,我最终找到了 Avasys。它为我的新扫描仪提供了驱动程序和软件实用程序。我不得不下载一个 64 位的 deb 文件,用于 iscap 和 esci-interpreter。我点击了 Image Scan! for Linux,程序告诉我它无法与扫描仪通信。我开始回忆起上次尝试使用扫描仪的情景。保持冷静,我重启了扫描仪,然后再次尝试了这个应用程序。这一次,它启动时没有任何抱怨。我能够点击“扫描”,一本图书封面的扫描件就显示出来了。我能够扫描成几种不同的文件类型:TIFF、JPEG、PNM、PNG 和 PDF。我有点失望的是,PDF 选项不允许我在文件中存储多页内容。
作为额外的奖励,我安装的驱动程序包修复了 xsane 的问题。现在,当它启动时,它让我可以选择我的网络摄像头(很奇怪)或我的扫描仪。这也解决了无法将多页扫描到单个 PDF 文件中的问题,因为 xsane 具有该功能。关键是在开始扫描之前将 xsane 切换到多页模式。这让我能够扫描多页并将它们保存为单个 PDF 文件。
我正在运行 Karmic (9.10),但当这篇文章发表时,Lucid (10.4) 将会发布。Simple Scan 将作为发布的一部分包含在内。Simple Scan 是一款新的扫描工具,专注于使扫描变得简单。因为它目前可以通过 PPA(个人软件包存档)获得,所以将其添加到我的系统中很容易
sudo add-apt-repository ppa:robert-ancell/simple-scan sudo apt-get update sudo apt-get install simple-scan
我第一次尝试 Simple Scan 时,它失败了。这有点令人沮丧,但这是我自己的错。我同时打开了 xsane。事实证明,每个应用程序都声明对设备的所有权。一旦我关闭了 xsane,Simple Scan 就像冠军一样工作。它真的很简单,可以处理照片或文本。此外,它可以轻松地制作多页文档,只需继续扫描即可。xsane 为您提供了非常精细的控制。在某些情况下,我可能会很高兴它包含图像的直方图,但是当我只想签署合同、扫描并以电子邮件发送 PDF 时,Simple Scan 正好符合要求。
在继续之前,我要提醒一句。在使用 Simple Scan 一段时间后,我遇到了一个问题。Simple Scan 依赖于 ImageMagick 中的 convert 命令从一系列扫描件制作多页 PDF。在 Karmic 上,这会导致段错误。我找到了一个错误报告,确认这个问题已经在 Lucid 中得到解决,但尚未在 Karmic 中解决。有三种选择:升级到 Lucid,只拉取 Lucid 软件包,或者从 Raimar Sandner 的 PPA 中拉取更新的 ImageMagick(请参阅资源)。长期来看,我计划升级到 Lucid。目前,我只是使用了 Sandner 的 PPA 来拉取一个修复版本。我能够确认这可行。
在获得如此愉快的扫描仪工作体验之后,我意识到我可以迎接更大的挑战。在我的办公室里,我有一台 HP LaserJet 3055。它是那种多功能复印机、扫描仪、传真机和打印机一体机。我在家里使用的 v300 扫描仪直接连接到我的 Linux 电脑。对于 HP,我必须通过网络连接。它的设置会像单功能 Epson 一样简单吗?
起初,我不确定从哪里开始。似乎没有任何工具可以检测网络上的扫描仪。然后我意识到我已经经历过这个过程了。扫描仪的第一步是找出是否存在特殊的驱动程序。在这种情况下,关键词是 “HP Linux 成像和打印” 系统,或简称 HPLIP
sudo apt-get install hplip-gui
完成之后,我需要运行hp-toolbox来配置网络打印机。这会在 GNOME 警报栏中提供一个方便的图标,让您可以选择多功能打印机的操作。通过选择“扫描”,它会自动启动 xsane。我在 HP 系统托盘应用程序的“首选项”下找到了配置,将其更改为 Simple Scan 作为默认应用程序。由于某些原因,当我从系统托盘启动它时,它拒绝找到 HP 扫描仪。目前,我会将其归咎于一些会被解决的问题,因为一份错误报告称,此切换将在 Lucid 中正式生效(请参阅资源)。从好的方面来说,既然 HP 已经完全安装好了,我可以启动 xsane 或 Simple Scan,然后选择 HP 进行扫描。在 Linux 下扫描确实取得了长足的进步。
我现在有两个扫描仪可以工作了,所以我决定更深入地研究扫描仪配置。我的 Epson 扫描仪有三个硬件按钮:PDF、电子邮件和复印。如果我按下 PDF 按钮,它可以自动启动 Simple Scan 并开始扫描,那就太酷了。要做到这一点,我需要使用一个名为 scanbuttond 的工具。这是一个在后台运行并监控扫描仪按钮状态的守护进程。然后它允许您根据按下的按钮触发脚本
sudo apt-get install scanbuttond
我通过运行以下命令启动了守护进程
scanbuttond -f
应用程序仍然记录到 /var/log/syslog,但 -f 选项使其保持在前台,因此在处理配置问题时更容易终止它。一开始,事情就进展不顺。我的日志文件很快就充满了
Apr 1 21:30:24 barqs scanbuttond: rescanning devices... Apr 1 21:30:24 barqs scanbuttond: no supported devices found. rescanning in a few seconds... Apr 1 21:30:26 barqs scanbuttond: rescanning devices... Apr 1 21:30:26 barqs scanbuttond: no supported devices found. rescanning in a few seconds...
现在我知道了他们为什么提供 -q 选项来静音日志消息。问题似乎是系统不知道如何检测我的扫描仪。在 Google 上花了一些时间后,我确定解决识别问题的方法是修改 scanbuttond 的源代码来检测扫描仪。使用 lsusb,我能够编写代码添加到 scanbuttond 中。我重新编译了软件包,并收到通知,它找到了我的扫描仪。
在完成所有这些之后,我了解到还需要做更多的工作。scanbuttond 使用 libusb 与扫描仪通信。这使得它可以在不锁定扫描仪的情况下与扫描仪对话(xsane 和 Simple Scan 就是这样做的)。因此,为了获得按钮按下,您必须知道发送到扫描仪以获得响应的精确代码。一旦我意识到这一点,我就能够确认我拥有的 Epson 扫描仪的行为与 scanbuttond 知道的其他扫描仪完全不同。如果我对 USB 调试了解更多,我可能会有机会解决这个问题。
我未能让扫描仪上的按钮工作有点令人失望,但这最终成为整个过程中唯一的障碍。主要的教训是先获取扫描仪的驱动程序,然后再担心其余的事情。自从我上次玩过 Linux 扫描以来,它已经有了很大的改进,我真的很高兴能够从我必须在另一个操作系统上完成的事情清单中删除一些东西。
以前专栏的更新
Qimo 的更新
我关于让 Qimo 使用更现代软件包的说明不够详细 [请参阅 2010 年 2 月刊的“我们小企鹅的桌面”]。不幸的是,在我可以将文件从驱动器上取下来之前,我组装的原始电脑就坏了。好消息是 Qimo 2.0 应该在您阅读本文时发布。该版本将与 Lucid (10.4) 同步,并为您节省大量麻烦。
APT 缓存的更新
Approx 的作者 Eric Cooper 就我关于他的软件无法一次处理多台电脑的评论联系了我 [请参阅 2010 年 3 月刊的“安装工具包”]。他指出,批评可能来自早期版本。当前版本的 Approx 使用 inetd/xinetd,因此它们不受该限制的约束。这意味着您有几个不错的选择可以在您的网络上缓存软件包!对不起,Eric,我犯了个错误。这就是我阅读博客和匆忙行事的后果。
资源
SANE: www.sane-project.org
SANE—支持的设备: www.sane-project.org/sane-supported-devices.html
Avasys: www.avasys.jp/lx-bin2/linux_e/scan/DL1.do
错误报告:ImageMagick 在使用 adjoin 制作多页 pdf 时崩溃 (karmic): https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/551484
Raimar Sandner 的 Ubuntu Karmic ImageMagick:convert jpg to pdf 段错误: homepage.uibk.ac.at/~c705283/archives/2010/03/19/ubuntu_karmic_imagemagick_convert_jpg_to_pdf_segmentation_fault/index.html
错误报告:扫描实用程序现在应该是 simple-scan: https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/539015
Dirk Elmendorf 是 Rackspace 的联合创始人,有时是家庭酿酒师,长期 Linux 倡导者,甚至是更长期的程序员。