有没有办法使用CUPS API保存打印作业?

时间:2016-04-14 05:45:27

标签: c ubuntu cups

有没有办法使用CUPS API保存打印作业?我必须使用c语言和ubuntu机器编码。一个例子可以真正帮助。

1 个答案:

答案 0 :(得分:0)

查看shell命令lprmcancel

您可以使用system()sh -cHow do I execute a Shell built-in command with a C function?

从c调用shell命令

http://linux.die.net/man/1/lprm-cups https://www.cups.org/documentation.php/man-cancel.html

http://linux.die.net/man/3/system

另请参阅此 http://www.g-loaded.eu/2005/11/10/using-a-cups-printer-from-command-line/ (命令可与system()sh -c一起使用)

您也可以使用它,使用shell命令更容易: cupsCancelJob()

#include <cups/cups.h>

cups_dest_t *dest;
int job_id;

cupsCancelJob(dest->name, job_id);

如果要删除作业(也停止打印),请使用cupsCancelJob2()

ipp_status_t cupsCancelJob2 (
    http_t *http,
    const char *name,
    int job_id,
    int purge
);

参数

http 与服务器的连接或CUPS_HTTP_DEFAULT

名称 打印机或班级名称

job_id 当前作业的作业ID,CUPS_JOBID_CURRENT或所有作业的CUPS_JOBID_ALL

清除 1清除,0清除

参见 https://www.cups.org/documentation.php/doc-2.0/api-cups.html#cupsCancelDestJob