Como pré-processar o CUPS '' lp 'com um script para uma impressora específica?

1

(Como) É possível pré-processar lp automaticamente com um script? Piping inbetween ( fileToPrint | script.sh | lp -d myPrinter ) não é uma opção para mim, porque eu tenho um monte de código fonte que faz lp diretamente ( lp -d myPrinter filetoPrint ) e atualmente não há intenção de mudar isso, especialmente porque o script é necessário apenas para uma impressora específica.

Estou pensando em algo como lpoption onde eu poderia dizer (pseduocode) preprocess myPrinter with script.sh (e somente para myPrinter, não para myOtherPrinter).

Isso é de alguma forma possível?

    
por Foo Bar 11.05.2015 / 13:27

2 respostas

0

Eu tropecei em tea4cups (no Debian o pacote é cups-tea4cups ), onde se pode fazer exatamente o que eu quero, assim:

# tea4cups.conf
[myprinter] # just the cups printer name
filter: mycommand
# pipes everything though mycommand, like "<input> | mycommand | lp"
# if the printer URI is prefixed with 'tea4cups://'
    
por 27.06.2015 / 10:40
2

Você pode criar seu próprio back-end que executa o pré-processamento e depois transferi-lo para qualquer back-end real que você normalmente usando. Ao configurar a impressora, você usaria seu back-end personalizado no URI.

Na verdade, fiz algo semelhante para permitir que o CUPS imprima em um servidor LPRng com patch local.

    
por 12.05.2015 / 01:20