【发布时间】:2014-10-15 18:17:51
【问题描述】:
我正在尝试将一个非常大的图像发送到自定义打印机。由于内存限制和图像被处理为全彩色的事实,图像必须被分成更小的部分才能发送到打印机。由于并非所有图像都具有相同的尺寸(或 feed/cutMedia 选项),因此我必须单独打印它们,每个图像都有自己的选项集
jobId = cupsPrintFile(...) 用于每个图像(而不是 jobId = cupsPrintFiles)
如果将多个作业发送到打印机或多个用户正在发送作业,则这些作业可能会在当前作业的块之间移动。
我能想出的唯一解决方案是使用所有选项(并通过所有过滤器)将打印作业发送到文件而不是打印机,然后获取所有创建的打印作业并将它们发送为一批到打印机,只有一个 jobId...
这两个步骤都可以吗?
如果我设置,我可以“打印到文件”
lpoptions -o File="/home/me/abcd.prn"
....但是...
1) 我如何通过 c++ 代码做到这一点?
2) 如何在同一打印会话期间对不同的文件 abcd1.prn、abcd2.prn、abcd3.prn 进行此操作?
3) 如何在同一打印会话期间通过 c++ 代码将文件 abcd1.prn、abcd2.prn、abcd3.prn 发送到 REAL 打印机?作为一个单一的工作?
以上步骤是否可行?
我的想法 - 创建一个后端以打印到文件 - 然后另一个后端将文件发送到打印机?
【问题讨论】:
标签: c++ printing queue options cups