我需要知道每次创建/完成Mac打印作业,以及有关该作业的信息(打印的内容,页面,副本等)。
到目前为止我提出的最好的方法是在/ var / spool / cups /上使用kqueue()然后解析c #####文件,因为它们已经创建,但我想知道是否有更好的方法。
答案 0 :(得分:1)
我考虑创建一个过滤器,您可以将其放入CUPS管道中,该管道收集此信息并将其存储(例如在数据库中)。然后,您可以使用任何标准数据库访问机制访问数据库以获取信息。基本上,过滤器只是一个命令行程序,它从CUPS获取传递给它的许多参数,需要读取stdin上的输入并将其写入stdout。您可以在http://www.cups.org/documentation.php/api-filter.html找到更多信息。
答案 1 :(得分:1)
你有没有看过 page_log 文件为你提供的内容?有一个手册页提供了有关其格式的详细信息。最新版本的CUPS将允许您配置该文件中记录的信息量。
答案 2 :(得分:0)
您是否研究过CUPS支持的 IPP订阅方案?
这些可能会在某些打印系统事件时触发 mailto:或 rss:通知。与该主题相关的IPP操作是:
Create-Job-Subscriptions, Create-Printer-Subscriptions, Create-Resource-Subscriptions, Create-System-Subscriptions
有关此功能的详细信息,请参阅《 CUPS编程手册》: