Minha sugestão é usar tea4cups .
tea4cups serve como um wrapper genérico em torno de qualquer back-end padrão do CUPS. Ele permite que você configure qualquer comando para executar antes e depois de enviar o trabalho por meio do backend real.
tea4cups permite especificamente que (qualquer número de) comandos sejam executados antes que o trabalho seja enviado: prehooks
. Um comando prehook que sai em -1
pode cancelar o trabalho.
tea4cups também permite que (qualquer número de) comandos sejam executados após o trabalho ser enviado: posthooks
(a menos que um gancho com saída -1 cancele o trabalho).
Os prehooks podem enviar dados para os ganchos por meio de canos.
tea4cups também pode executar filters
(o que pode modificar os dados de impressão antes de enviá-los para a impressora real através do backend real).
De agora em diante, apenas sua própria criatividade é um limite para o que você pode fazer com essa estrutura.