Estou escrevendo um software que suporta várias impressoras. Para testá-lo, preciso adicionar várias impressoras ao meu servidor CUPS. Como eu posso fazer isso?
Quero adicionar algumas impressoras falsas que enviarão os trabalhos diretamente para / dev / null. Dessa forma, posso observar a lista de "trabalhos concluídos" na interface do CUPS e observar se meu software está usando a impressora correta para cada trabalho.
Respostas:
Uma solução é instalar cups-pdf . Ele adiciona uma impressora virtual que grava arquivos PDF. Existem vários tutoriais na web sobre como instalá-lo e configurá-lo; desde que eu uso o Gentoo, eu li o Gentoo-wiki , que também menciona o Sabayon wiki .
A impressora virtual cups-pdf possui um arquivo de configuração
/etc/cups/cups-pdf.conf
e, por padrão, todos os arquivos PDF são gravados/var/spool/cups-pdf/${USER}
.(Nota: no Ubuntu, ele grava em ~ / PDF /)
Existem algumas limitações, no entanto:
Como existe apenas um arquivo de configuração, várias impressoras PDF serão salvas no mesmo diretório.
É impossível imprimir dados "brutos" (usando, por exemplo,
lpr -o raw
). Mesmo o envio de um arquivo PDF como um trabalho bruto não funcionará. Trabalhos de impressão brutos gerarão um arquivo PDF em branco com apenas uma página vazia.Mesmo com essas limitações, ele funciona perfeitamente para minhas necessidades.
Nota de rodapé: se o usuário estiver usando o Gnome ou imprimindo em um aplicativo GTK +, já haverá uma pseudo-impressora "Imprimir em arquivo" na caixa de diálogo de impressão. Portanto, por que o usuário ainda deseja adicionar uma impressora PDF virtual? Aqui estão algumas razões:
fonte
O Fórum de Copas tem uma resposta mais completa / precisa para esta pergunta.
A resposta é que o URI do dispositivo deve ser definido como arquivo: / dev / null
Então, na minha configuração do Ubuntu:
O que funciona perfeitamente para mim.
Procurei no fórum Cups novamente e encontrei o seguinte:
Fórum Configuração da impressora nula em copos
No seu cupsd.conf:
Configuração da impressora
Teste de impressora
fonte
Você pode criar uma impressora que saídas para
/dev/null
comlpadmin
:Isso será gravado
/etc/cups/printers.conf
, mas você também pode exibir impressoras comlpstat
:Note que você pode precisar habilitar o FileDevice em /etc/cups/cupsd.conf nas distros antigas do Linux .
Para tornar sua nova impressora o padrão, use
lpoptions
:fonte
lpadmin -x myprinter
ou a interface da web.Uma das melhores soluções é usar
ippserver
. Vem comCUPSv2.2.2
e mais alto. Como alternativa, você pode obter o projeto aqui: Implementações de amostra de IPP .De acordo com a descrição na página do manual :
Para usá-lo, basta executar
ippserver "My cool printer"
e criar uma impressora virtual com o nomeMy cool printer
para você. Ele roda como um servidor da Web e escuta em portas específicas.Caso precise de várias impressoras, você pode executar o servidor em várias portas usando
ippserver "My other cool printer" -p 8888
.Você pode até fornecer atributos da impressora usando um arquivo de atributos. Por exemplo, sua impressora suporta, por padrão, impressões de alta qualidade, você pode adicionar o seguinte atributo no arquivo de atributos:
e execute o servidor usando:
Referências:
fonte
Retirado de http://inai.de/linux/adm_virtualprinter :
fonte