这是在 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 解析工具。