我正在尝试将非常大的图像发送到自定义打印机。由于内存限制以及将图像作为全色处理的事实,图像必须以较小的部分分块以发送到打印机。由于并非所有图像都具有相同的尺寸(或者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打印机?作为一份工作?
以上任何步骤都可以吗?
我的想法 - 创建一个后端打印到文件 - 然后另一个后端将文件打印到打印机?
答案 0 :(得分:0)
我使用来自here的2dir后端,然后读取并连接文件 - 获取一个看起来像“打印到文件”的文件,或者可以在一个作业中发送到打印机的文件。
要发送到自定义后端,我使用了一个杯子选项 - 还创建了一个运行代码的脚本来安装使用2dir后端的打印机(如果没有安装)。