1

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

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

4

3 回答 3

1

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

于 2009-09-17T17:53:36.347 回答
1

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

于 2010-06-05T21:00:01.960 回答
0

您是否查看过 CUPS 支持的IPP 订阅方案?

这些可能会在某些打印系统事件时触发mailto:rss:通知。与本主题相关的 IPP 操作有:

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

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

于 2018-12-09T03:38:59.547 回答