![Mac OSX,如何自动生成本地安装打印机的选择框?](https://linux22.com/image/73209/Mac%20OSX%EF%BC%8C%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E6%9C%AC%E5%9C%B0%E5%AE%89%E8%A3%85%E6%89%93%E5%8D%B0%E6%9C%BA%E7%9A%84%E9%80%89%E6%8B%A9%E6%A1%86%EF%BC%9F.png)
简要介绍我目前正在开发的 POS 程序的当前架构:
+ 基于 Web 的数据库服务器
+ 本地安装的 Mac Mini(Yosemite、无头),带数据库镜像、Web 服务器、PDF 生成器、打印服务器、基于浏览器的 UI
+ 客户端连接了条形码扫描仪的 iPad 或 Android 平板电脑
问题:向程序提供打印机队列的名称,它们是标签打印机、热敏收据打印机和常规办公室激光打印机。在工作流程中,每个任务都需要执行不同的任务。
当前的解决方案(有效):我有一个 php 配置文件,其中队列名称被硬编码为
$cfg['labelprinter'] = 'DYMO_LW_450_desk';
$cfg['labelprinter_fallback'] = 'DYMO_LW_450_store';
$cfg['bonprinter'] = 'TM-T88V_desk';
$cfg['bonprinter_fallback'] = 'TM-T88IV_store';
想要的解决方案:我想提供一个配置 UI,商店经理(不是 IT 管理员)可以在其中设置程序使用的实际打印机,最好是一个选择框。用户选择将存储在数据库中并由程序使用。
问题:如何获取当前安装的打印机的列表来生成这样的选择框?
<select name="labelprinter">
(<option value="queuename">real printer name, location</option>)
<option value="DYMO_LW_450_desk">DYMO LabelWriter 450, desk</option>
<option value="DYMO_LW_450_store">DYMO LabelWriter 450, store</option>
<option value="TM-T88V_desk">Epson TM-T88V, desk</option>
<option value="TM-T88IV_store">Epson TM-T88IV, store</option>
(<option value="other queuenames">other printer, other location</option>)
</select>
如何读取 CUPS 配置并自动生成一个文本文件,其中包含这些打印机的列表并将其存储在 htdocs 路径中?