Eu posso imprimir do Inkscape para minha impressora de rede configurada pelo CUPS. Eu gostaria de fazer o mesmo diretamente da linha de comando do shell, conforme fornecido pela resposta link . Mas quando eu tento isso no meu sistema Ubuntu, depois de converter os arquivos SVG para PDF ou Postscript usando o Inkscape, enviá-lo para lpr
fornece o erro mostrado abaixo no painel frontal da impressora (a Xerox 6180MFP):
Os comandos que estou tentando usar são:
inkscape --without-gui --export-pdf=test_file.pdf test_file.svg
pdftops test_file.pdf test_file.ps
lpr -P Xerox-6180MFP-D -l test_file.ps
O que preciso fazer na minha configuração do CUPS para ativá-lo? O que o Inkscape está fazendo nos bastidores para imprimir com êxito na impressora, que não consigo fazer na linha de comando lpr
?
Para referência, aqui está uma essência do meu arquivo de configuração atual do CUPS: link
Saída de lpstat -t
:
scheduler is running
no system default destination
device for Xerox-6180MFP-D: socket://192.168.1.20
device for Xerox-6180MFP-D/double-sided: socket://192.168.1.20
device for Xerox-6180MFP-D/single-sided: socket://192.168.1.20
Xerox-6180MFP-D accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
Xerox-6180MFP-D/double-sided accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
Xerox-6180MFP-D/single-sided accepting requests since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D is idle. enabled since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D/double-sided is idle. enabled since Sat 04 Mar 2017 05:36:44 PM PST
printer Xerox-6180MFP-D/single-sided is idle. enabled since Sat 04 Mar 2017 05:36:44 PM PST
Captura de tela da página da minha impressora em http://localhost:631/printers/Xerox-6180MFP-D
EDIT # 1
Em resposta a um comentário em Como imprimir arquivos PDF ou PostScript na impressora diretamente da linha de comando :
Aqui está o script que usei para executar o lpr com e sem a opção -l
(mostrada abaixo sem ele):
cd /tmp
qrencode -v 1 -t svg -o some_small_text.qrcode.svg -l L "some small text"
inkscape --without-gui --export-pdf=some_small_text.qrcode.pdf some_small_text.qrcode.svg
# setsid evince some_small_text.qrcode.pdf >/dev/null 2>&1 &
pdftops some_small_text.qrcode.pdf some_small_text.qrcode.ps
lpr -P Xerox-6180MFP-D some_small_text.qrcode.ps
Aqui está uma essência do arquivo Postscript gerado a partir da chamada acima para qrencode:
link
O erro "Load Tray" me leva a acreditar que preciso especificar mais algumas coisas para o comando lpr ou modificar algumas das opções. De alguma forma, o Inkscape é capaz de comunicar suas necessidades a partir do diálogo de impressão que requer que eu interaja, e é que eu desejo replicar a partir da linha de comando lpr
.
EDIT # 2
Eu corri lpr
sem opções e recebi:
$ echo stuff | lpr
lpr: Error - no default destination available.
EDIT # 3
Eu resolvi parcialmente o enigma de onde vem o erro "Load Tray 1 (MPT) ... 76x127mm" no painel frontal da impressora. Quando abri a GUI do Inkscape e examinei as propriedades no arquivo .svg gerado pelo comando qrencode
mostrado acima, vejo:
Observe a largura e a altura. Quando tentei imprimir usando a GUI, recebi o mesmo erro "Load Tray 1 (MPT) ... 76x127mm"! Então, eu selecionei "US Letter" da seção Page Size e tentei imprimi-lo na impressora, e funcionou sem problemas.
Portanto, aparentemente, o que está acontecendo é que a impressora está vendo esse arquivo postscript pequeno (em largura e altura) e assumindo que precisa selecionar uma bandeja de envelope de 3 x 5 polegadas. Acredito que, ao olhar a página 69 do link que tem:
Portanto, estou um pouco mais perto da resposta à minha pergunta original. Agora só preciso de uma maneira de escolher a Origem do papel ou alterar o tamanho na linha de comando. Eu olhei para a página inkscape
man, e não é óbvio quais opções são aquelas com as quais eu deveria brincar. Ou talvez este seja um tipo de operação imagemagick / convert.