You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过cups4j获取含完成时间的全部打印作业属性?

获取包含job-completion-time的全量CUPS作业属性(基于cups4j)

可行方案:

  • 自定义IppGetJobsOperation的请求属性
    cups4j的getPrintJobs()方法默认未请求job-completion-time属性,这是CUPS IPP协议的默认行为。你可以手动给IppGetJobsOperation添加需要的属性列表,一次性拉取包含完成时间的所有作业数据:
// 构建获取作业的操作实例
IppGetJobsOperation getJobsOp = new IppGetJobsOperation();
// 显式指定需要获取的属性,包含job-completion-time
getJobsOp.addAttribute(new IppAttribute("requested-attributes", IppTag.KEYWORD, 
    "job-id", "job-name", "job-state", "job-completion-time"));
// 执行请求获取作业列表
List<CupsJob> jobs = getJobsOp.getPrintJobs(cupsClient, printerUri);

这样返回的每个CupsJob对象中,job-completion-time字段就会有有效值。

  • 批量获取单作业属性(备选)
    如果上述方法不生效,可先通过getPrintJobs()拿到所有作业的job-id,再循环调用getPrintJobAttributes()获取每个作业的完整属性。注意控制请求频率,避免对CUPS服务器造成过大负载。

补充说明:

CUPS的Get-Jobs IPP操作默认返回的属性集合不包含job-completion-time,必须显式声明请求该属性才能获取到,这也是默认getPrintJobs()返回空值的核心原因。

内容的提问来源于stack exchange,提问作者Moses Jebakumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:20:31