我有一台网络打印机。我可以使用 将 postscript 文件发送到打印机nc
,然后打印机打印它:
cat tiger.eps | nc 192.168.0.6 9100
如果我想从我的应用程序(即从 Thunderbird、Chromium)进行打印,我可以打印到文件 ( .ps
),然后使用 发送文件nc
,如上所示。
然而,这是相当乏味的。我想直接从我的应用程序打印。
我必须做什么,以便应用程序知道存在打印机192.168.0.6:9100
并且可以直接打印到该打印机?
最简单的解决方案是什么?我希望避免安装 CUPS。
另外,该文件的目的是什么PPD
?显然我不需要它来通过 打印nc
。
我正在使用 Debian Wheezy 和 LXDE 桌面环境。但我正在寻找一种与 DE 无关的解决方案。
答案1
你应该检查一下LPR(打包为lprng
在 Debian 中);它支持使用 JetDirect(这是通过端口 9100 使用的协议)进行远程打印,文件/etc/printcap
如下
remote
:lp=192.168.0.6%9100
其中remote
是本地为您的打印机指定的名称。看文档有关详细信息和注意事项,以及 Debian 软件包的文档。您可能需要添加一些过滤magicfilter
例如。
配置完所有内容后,您可以在命令行上使用 等,并且还应该可以从应用程序访问打印机lp
。lpq
一个主要的例外是 Gtk+ 3 和 KDE 应用程序,它们根本不支持 LPR 样式打印;如果您需要集成支持,则需要安装 CUPS。
PPD 文件允许应用程序考虑打印机的功能和特性:可用的纸张尺寸、颜色功能、双面功能、可用的打印分辨率、最小边距等。