Printing 通过libcups以编程方式打印双面打印的正确方法是什么?

Printing 通过libcups以编程方式打印双面打印的正确方法是什么?,printing,c,cups,c++,Printing,C,Cups,C++,这是我目前的方法,但没有达到预期效果。它只是在所有三种情况下打印simplex #include <cups/cups.h> int main(int argc, char *argv[]) { cupsSetUser("myuser"); cups_dest_t *defaultP = cupsGetDest (NULL, NULL,num_dests,dests); int jobid; int num_options = 0; cups_option_t *options=

这是我目前的方法,但没有达到预期效果。它只是在所有三种情况下打印simplex

#include <cups/cups.h>

int main(int argc, char *argv[])
{
cupsSetUser("myuser");
cups_dest_t *defaultP = cupsGetDest (NULL, NULL,num_dests,dests);

int jobid;
int num_options = 0;
cups_option_t *options=NULL;

//SIMPLEX
num_options = cupsAddOption ("Duplex", "None",num_options,&options);
jobid = cupsPrintFile(defaultP->name,"/home/myuser/work/TEST.ps","Test Print SIMPLEX",
                      defaultP->num_options,defaultP->options);
num_options = cupsRemoveOption("Duplex",num_options,&options);

//DUPLEX Long Edge
num_options = cupsAddOption ("Duplex", "DuplexNoTumble",num_options,&options);
jobid = cupsPrintFile(defaultP->name,"/home/myuser/work/TEST.ps","Test Print DUPLEX Long Edge ",
                      defaultP->num_options,defaultP->options);
num_options = cupsRemoveOption("Duplex",num_options,&options);

//DUPLEX Short Edge
num_options = cupsAddOption ("Duplex", "DuplexTumble",num_options,&options);
jobid = cupsPrintFile(defaultP->name,"/home/myuser/work/TEST.ps","Test Print DUPLEX Short Edge ",
                      defaultP->num_options,defaultP->options);
num_options = cupsRemoveOption("Duplex",num_options,&options);
}
#包括
int main(int argc,char*argv[])
{
cupsSetUser(“我的用户”);
cups\u dest\u t*defaultP=cupsGetDest(NULL,NULL,num\u dests,dests);
int-jobid;
int num_options=0;
cups\u option\u t*options=NULL;
//单纯形
num_options=cupsadoption(“双工”、“无”、num_options和options);
jobid=cupsPrintFile(defaultP->name,“/home/myuser/work/TEST.ps”,“测试打印单工”,
defaultP->num\u选项,defaultP->options);
num_options=cupsremove选项(“双工”,num_选项和选项);
//双面长边
num_options=cupsadoption(“双工”、“双工”notumble)、num_options和options);
jobid=cupsPrintFile(defaultP->name,“/home/myuser/work/TEST.ps”,“测试打印双面打印长边”,
defaultP->num\u选项,defaultP->options);
num_options=cupsremove选项(“双工”,num_选项和选项);
//双工短边
num_options=cupsadoption(“双工”、“双工翻滚”、num_options和options);
jobid=cupsPrintFile(defaultP->name,“/home/myuser/work/TEST.ps”,“测试打印双面短边”,
defaultP->num\u选项,defaultP->options);
num_options=cupsremove选项(“双工”,num_选项和选项);
}

这是正确的方法。每个文件(…)的第二行中都有错误的参数。应该是
num\u options,&options
而不是
defaultP->num\u options,defaultP->options
这是正确的方法。每个文件(…)的第二行中都有错误的参数。应该是
num\u options,&options
,而不是
defaultP->num\u options,defaultP->options