impressão CUPS compactada

1

Nossa aplicação envia arquivos ascii para a impressora. Esta aplicação indica com Ctrl-O na partida que a impressora deve imprimir em 132 colunas. Posso definir uma impressora pr01 para impressão de 80 cores e pr01-132 para impressão de 132 cores e definir as opções padrão de acordo.

lpoptions -p pr01-132 -o cpi=16.6 -o lpi=10

O que eu estou tentando fazer é quando eu enviar um trabalho o spooler deve tomar pr01-132 quando o primeiro caractere no arquivo é um Ctrl-O, caso contrário pr01.

Como posso fazer isso com o CUPS?

    
por PeterMmm 19.10.2010 / 10:21

1 resposta

2

Seu aplicativo parece estar confuso sobre a responsabilidade de determinar o processamento do documento. O fato de preceder o documento com um caractere SI sugere que ele está tentando controlar a própria renderização - [SI] seleciona a impressão no modo condensado em um IBM DMP (necessário para a impressão de colunas 132 no layout de retrato). Supondo que sua impressora esteja configurada e suporte a emulação IBM, é simplesmente uma questão de configurar um novo dispositivo em xícaras usando o driver ASCII genérico.

Se suas impressoras não suportarem emulação IBM e o driver genérico não funcionar como esperado, provavelmente será necessário remover o [SI] do arquivo. Consulte este documento para obter detalhes sobre como escrever seu próprio filtro. Descreve o processo para um arquivo DVI - mas o princípio é o mesmo: primeiro invente um tipo MIME para seus arquivos, por exemplo application / vnd.local.proprinter, e configure uma receita para mapear os 'bytes mágicos' para o tipo MIME (veja /etc/cups/mime.types) então escreva um script para remover o [SI] inicial e converter para ps (man a2ps).

    
por 19.10.2010 / 13:50

Tags