在我的 debian lenny box 上,通过 CUPS 打印可以正常工作,例如使用 OpenOffice。
但是,从 Adobe Reader 打印时,一切不起作用。问题似乎发生在该过程的第一步,即 Adobe Reader 与 lpr 对话时。我猜这是原因,因为我从 Adobe Reader 收到一条错误消息,如下所示:
打印时出现以下错误...
‘用法:lpr [-cdfghlmnpqrstv] [-#num] [-1234 字体] [-C 类别] [-i [列数]] [-J 作业] [-Pprinter] [-T 标题] [-U 用户] [-wnum] [名称 ...]’
看起来 lpr 对 Adobe Reader 与其对话的方式有所不满,不是吗?
不管我打印到激光打印机还是 CUPS-PDF,都会发生这种情况。似乎 Adobe Reader 发送了如下命令
lpr -P CUPS-PDF -o PageSizeA4 -o blah -o blah
在 debian 的这个特定安装中,Adobe Reader(acroread 包)显然假定有一个比已安装的 lpr 更新的 lpr,并使用 -o 将选项发送到 lpr。
较新版本的 lpr 可能使用 [ -o 选项[=值] ];根据其手册页,我的旧版本不允许使用 -o。
使用 aptitude 进行一些额外的调查显示 lpr 被标记为已安装。man lpr
告诉我这个 lpr 是 BSD 打印后台处理程序。在另一个没有这个问题的机器上,lpr 没有作为单独的包安装。但是,我可以从命令行调用 lpr 并man lpr
显示一个有效的手册页,告诉我我有一个 Apple 提供的 lpr 版本。Apple 编写的这个 lpr 来自哪里?我需要安装什么软件包才能使用此特定版本的 lpr?
答案1
删除 lpr (和 lprng)。如果遇到通过 传递的选项,独立版本的 lpr 将会发出警告
-o
。安装 cups-bsd。这将带来一个 lpr 版本,该版本可以接受
-o
acroread 使用的内容和其他常用参数。(cups-bsd 与 lpr 或 lprng 冲突)。仔细查看并发现 acroread 推荐 cups-bsd。
注:部分相关细节也可参见这个问题。