通过命令行获取特定打印机的驱动程序位置

通过命令行获取特定打印机的驱动程序位置

这是在 OS X 10.8 上。我希望能够任意提取特定打印机的配置,以便我可以在包创建脚本中使用它。该脚本(不是我的)使用

/usr/sbin/lpadmin -p "$printername" -L "$location" -D "$gui_display_name" -v "$address" \
-P "$driver_ppd"

设置新打印机。

如果我$printername在我从中提取的系统上提供,我可以$location从 获取 $address lpoptions。但我似乎找不到一个可以给我的命令$driver_ppd(其形式为/Library/Printers/PPDs/Contents/Resources/HP LaserJet P4010_P4510 Series.gz)。

我知道它可供系统使用,因为我可以在该打印机下的 CUPS Web 界面中看到它。

答案1

在我的系统(Debian wheezy)上,PPD 文件存储为/etc/cups/ppd/printername.ppd.假设类似的方案适用于其他系统,您实际上只需要打印机名称,您可以从 获得该名称/etc/cups/printers.conf。该文件似乎是 XML 格式,因此您可以使用一些合适的 XML 解析工具。

相关内容