任何人都知道使用CUPS API
获取打印机URI?
如果没有,是否有人知道我在哪里可以找到可以传递给cupsGetOption function
的允许选项列表。
现在我只能找到printer-info, printer-location, printer-make-and-model
。
答案 0 :(得分:2)
你可能正在寻找的是“设备 - uri”。这是远程设备的uri,即lpd / socket / server地址。如果你正在寻找本地uri,它将是“printer-uri-supported”,这将导致ipp:// localhost:631 / printers / printername。这是如何获得远程uri ...
#import <cups/cups.h>
const char * printer = "name_of_printer";
int num_dests;
cups_dest_t *dest,
*dests;
const char *value;
num_dests = cupsGetDests(&dests);
dest = cupsGetDest(printer, NULL, num_dests, dests);
if( dest == NULL){
return 0;
};
value = NULL;
if (dest->instance == NULL)
{
value = cupsGetOption("device-uri", dest->num_options, dest->options);
}
cupsFreeDests(num_dests, dests);
printf("uri - %s",value);