有没有办法使用 CUPS API 来保留打印作业?我必须在 ubuntu 机器上用 C 语言进行编码。一个例子确实有帮助。
最佳答案
查看 shell 命令 lprm
和cancel
您可以使用 system()
从 c 调用 shell 命令或sh -c
(How do I execute a Shell built-in command with a C function?)
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
关于c - 有没有办法使用 CUPS API 来保留打印作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36614714/