c - 有没有办法使用 CUPS API 来保留打印作业?

标签 c ubuntu cups

有没有办法使用 CUPS API 来保留打印作业?我必须在 ubuntu 机器上用 C 语言进行编码。一个例子确实有帮助。

最佳答案

查看 shell 命令 lprmcancel

您可以使用 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/

相关文章:

c - 如何获取 MagickWand 持有的图像数量?

c - printf 不起作用

c - 变量被视为未初始化

python - 如何在pyqt中删除QFrame

Java 打印线程卡住 : WHY?

linux - 如何在 Lua 和 cups 中使用打印机

objective-c - 将 char 数组保存到 iPhone

linux - 无法使用 python 2.7.6 的系统版本而不是 virtualenv 版本停止 apache

security - 我的 ClamAV 日志在哪里?

linux - Zebra Cups Driver 纸张尺寸不变