Останні версії CUPS додали можливість друкувати pdfs безпосередньо. 11.10 і новіші (і, можливо, більш старі) версії мають це.
Інший підхід (який я використовую в своєму двосторонній (двосторонній) пакеті емулятора друку) - це використовувати Print To File для всіх завдань друку і помістити їх у папку, яка фактично стає вашою особистою чергою друку. Як тільки вони там є, ви можете надрукувати деякі або всі з них, коли хочете, і видалити їх, коли вони готові.
Це має додаткову перевагу, що дозволяє повторно виконувати завдання після застрягання паперу тощо, не відтворюючи їх з нуля. Це також дозволяє продовжувати працювати, не припиняючи керувати принтером.
Якщо ви хочете, ви можете написати невеликий сценарій, який буде працювати у фоновому режимі, і почати друкувати речі, які з’являються у вашій черзі друку. Якщо ви робите що-небудь із цього, ви можете назвати завдання друку, щоб вони сортувались у черзі в тому порядку, в якому ви хочете надрукувати. Я просто використовую 00 ... 99 для імен.
Для текстових файлів слідкуйте за тими, які можуть мати довгі рядки. CUPS (принаймні за замовчуванням) не зможе перетворити рядки для вас і не встановить приємні поля сторінок.
Моя система двостороннього друку робить набагато більше, ніж ви просите, але може дати вам кілька ідей. Зокрема, у нього є два невеликих допоміжні сценарії dprint та dprintm, які беруть текст і трохи приручають його, перш ніж надсилати його на принтер.
http://sourceforge.net/projects/duplexpr/