Я пытаюсь отправить очень большое изображение на специальный принтер. Из-за ограничений памяти и того факта, что изображение обрабатывается как полноцветное, изображение должно быть разбито на более мелкие части для отправки на принтер. Поскольку не все изображения будут иметь одинаковый размер (или параметры подачи / вырезания), мне нужно распечатать их отдельно, каждое со своим набором параметров.
jobId = cupsPrintFile(...)
для каждого изображения (вместо jobId = cupsPrintFiles
)
Если на принтер отправлено несколько заданий или несколько пользователей отправляют задания, существует риск того, что эти задания перейдут между частями текущего задания.
Единственное решение, которое я могу придумать, - это отправить задания на печать в файл вместо принтера, используя все параметры (и пройдя через все фильтры), затем взять все созданные задания на печать и отправить их в виде пакета на принтер с единственным идентификатором задания ...
Возможны ли оба эти шага?
Я могу "распечатать в файл", если установлю
lpoptions -o File="/home/me/abcd.prn"
....но...
1) Как мне это сделать с помощью кода c ++?
2) Как сделать так, чтобы это происходило с разными файлами abcd1.prn, abcd2.prn, abcd3.prn во время одного сеанса печати?
3) Как отправить файлы abcd1.prn, abcd2.prn, abcd3.prn на НАСТОЯЩИЙ принтер во время того же сеанса печати с помощью кода C ++? Как одиночная работа?
Возможны ли какие-либо из вышеперечисленных шагов?
Моя мысль - создать бэкэнд для печати в файл, а затем другой бэкэнд для передачи файлов на принтер?