设置杯子副本时,postscript文件未整理

时间:2015-06-25 16:52:13

标签: cups collate

我们的C ++应用程序正在使用cups打印出由XRT XrtTblVaDrawPS命令生成的postscript文件。但是当我打印2份并设置杯子整理选项时,文件不会打印出来进行整理。

1 个答案:

答案 0 :(得分:0)

我们的项目使用XRT motif库,使用motif从表格布局生成postscript文件。由XrtTblVaDrawPS生成​​的postscript文件是使用cups打印的,但在测试期间,当我们打印多于1份副本时,杯子Collat​​e选项似乎不起作用。网络搜索没有返回任何理由为什么ps文件没有整理,但经过大量的实验,我们发现为什么杯子没有按预期工作。生成ps文件的XrtTblVaDrawPS调用和使用的选项之一是“XRTTBL_PS_NUM_COPIES,2”来设置postscript文件打印出的副本数量。在我们的杯子类中,我们正在做一个cupsAddOption(“拷贝”,“2”,...和cupsAddOption(“Collat​​e”,“True”,..命令(参见下面的例子)。结果是杯子“拷贝”命令如果设置为2,就会杀死Collat​​ing。就像定位postscript /杯冲突一样,你需要将cups副本值设置为1以使整理工作。后记文件已经知道它要打印出来,例如2份。如果你不想对它进行整理,那么将cups副本设置为2个数字。如果你正在生成一个postscript文件,那么这个问题可能不会发生在你身上,但是如果你正在使用XrtTblVaDrawPS调用那就是。

pgs = XrtTblVaDrawPS(myTable,fp,XRTTBL_PS_NUM_COPIES,num,< =设置为2 XRTTBL_PS_CELL_RANGE,rng, XRTTBL_PS_COLOR,clr, XRTTBL_PS_ORIENTATION,ornt, XRTTBL_PS_SCALE,FIT_TO_PAGE_HEIGHT, XRTTBL_PS_SHOW_ROW_LABELS,XRTTBL_PS_ALL, XRTTBL_PS_SHOW_FROZEN_ROWS,XRTTBL_PS_ALL, XRTTBL_PS_SHOW_COL_LABELS,XRTTBL_PS_ALL, XRTTBL_PS_SHOW_FROZEN_COLS,XRTTBL_PS_ALL, XRTTBL_PS_PAPERSIZE_WIDTH,media_sz.width, XRTTBL_PS_PAPERSIZE_HEIGHT,media_sz.length, XRTTBL_PS_MARGIN_LEFT,1.00, XRTTBL_PS_MARGIN_RIGHT,1.00, XRTTBL_PS_MARGIN_TOP,0.75, XRTTBL_PS_MARGIN_BOTTOM,0.75, XRTTBL_PS_HEADER_FONT,“Adobe 10”, XRTTBL_PS_HEADER,hdr, XRTTBL_PS_HEADER_MARGIN,0.55, XRTTBL_PS_FOOTER_FONT,“Adobe 10”, XRTTBL_PS_FOOTER,“页面#”, XRTTBL_PS_FOOTER_MARGIN,0.25,NULL);

myNumOptions = cupsAddOption(“Collat​​e”,“True”,myNumOptions和& myOptions); myNumOptions = cupsAddOption(“拷贝”,oss.str()。c_str(),myNumOptions和& myOptions);

oss.str()。c_str()是“2”并且整理失败,我得到(1-1-2-2) oss.str()。c_str()是“1”并且整理工作,我得到(1-2-1-2) oss.str()。c_str()是“2”,杯子Collat​​e设置为“False”我按预期得到(1-1-2-2)