如何判断CUPS打印作业何时完成以及有关该作业的信息?

时间:2009-09-17 17:30:37

标签: macos printing cups kqueue

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

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

3 个答案:

答案 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编程手册》: