我需要知道每次创建/完成 Mac 打印作业时,以及有关该作业的一些信息(打印内容、页面、副本等)。

到目前为止,我想出的最好方法是在 /var/spool/cups/ 上使用 kqueue() ,然后在创建 c##### 文件时解析它们,但我想知道是否有更好的方法方式。

有帮助吗?

解决方案

我考虑创建一个过滤器,您可以将其放入CUPS管道中,该管道收集此信息并将其存储(例如在数据库中)。然后,您可以使用任何标准数据库访问机制访问数据库以获取信息。基本上,过滤器只是一个命令行程序,它从CUPS获取传递给它的许多参数,需要读取stdin上的输入并将其写入stdout。您可以在 http://www.cups.org/documentation中找到更多信息。 PHP / API-filter.html

其他提示

你有没有看过 page_log 文件为你提供的内容?有一个手册页提供了有关其格式的详细信息。最新版本的CUPS将允许您配置该文件中记录的信息量。

你有没有调查过 IPP订阅 CUPS 支持哪些方案?

这些可能会引发 邮寄地址: 或一个 RSS: 某些打印系统事件的通知。与此主题相关的 IPP 操作有:

  • Create-Job-Subscriptions, Create-Printer-Subscriptions, Create-Resource-Subscriptions, Create-System-Subscriptions

有关此功能的详细信息,请参阅 CUPS 编程手册:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top