Perguntei aqui há alguns meses como imprimir e verificar resultados com o comando lp (CUPS) no Ubuntu.
Depois de alguns trabalhos, consegui imprimir arquivos de texto normais. Consegui imprimir selecionando algumas opções (impressão frente e verso, tamanho da mídia, entrada da bandeja de papel, etc.)
Eu tenho os drivers Linux aqui (arquivos PPD):https://www.openprinting.org/download/PPD/
Agora estou com um probleminha: Quando envio um arquivo .pdf para a impressora (Ricoh MP Aficio 1106 EX conectada por TCP-IP), a impressão fica lenta, demorando +30 segundos para enviar o arquivo para a impressora. Os arquivos .txt são impressos no momento em que os envio. Você tem alguma ideia de como resolver isso?
Tentei mudar o soquete da máquina para a porta 9100, mas isso só gera erros.
EDITAR1:
Tentei usar o comando LPR, em vez de LP:
lpr -sPrinterIP /absolute/path/to/file.pdf
Mas também funciona devagar.
EDITAR2:
Instalei o qz-tray, uma espécie de servidor de impressão/API. Quando tento a demonstração em PDF, a impressão também é lenta.
EDIT3: Tentei agora com o visualizador de PDF padrão (EVINCE) porque achei que estava com falta de memória e imprimi o mesmo arquivo. Funcionou bem, em velocidade normal.
EDIT4: Amarrei alguns outros drivers (genéricos e recomendados pelo fabricante da impressora), mesma velocidade.
EDITAR5:
Encontrei este link:https://en.opensuse.org/SDB:Using_Your_Own_Filters_to_Print_with_CUPS
Mas não consigo entender se a filtragem está "me fodendo", porque minha impressora é PCL (e estou usando um driver pxl...). Alguém poderia me explicar isso?
EDITAR 6:
Encontrei a origem do problema: quando imprimo um arquivo PDF somente texto, ele funciona perfeitamente. Mas quando envio um arquivo imagem-pdf, a impressão entra em um processo de pré-impressão (não posso garantir isso completamente) e ganha +30 segundos para enviar qualquer pacote para a impressora (isso foi verificado com o wireshark).
Posso presumir que o arquivo PPD (arquivo de driver fornecido pelo suporte da Ricoh) contém algo no código que envia qualquer ordem para processar o arquivo.
Encontrei isso no arquivo PPD. Acho que é a raiz desse problema de lentidão:
*%========== Ghostscript Command line ==========
*FoomaticRIPCommandLine: "(printf '\033%%-12345X@PJL\n@PJL JOB\n@PJL SET COPIES=&copies;\n'%G|perl -p -e "s/\x26copies\x3b/1/"
(gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -dNOMEDIAATTRS -dNOINTERPOLATE %B%A%C %D%E | perl -p -e "s/^\x1b\x25-12345X//" | perl -p -e "s/\xc1\x01\x00\xf8\x31\x44/\x44/g"
(printf '@PJL\n@PJL EOJ\n\033%%-12345X&apos"
*End
Encontrei este artigohttps://lists.linuxfoundation.org/pipermail/printing-foomatic/2012/002791.htmlisso confirma minhas idéias: o driver ppd está renderizando todos os arquivos com o ghostcript.
EDIT 7: O suporte da Ricoh me disse que o comando de impressão "lp" pode estar usando o "visualizador de PDF padrão" para processar o arquivo e retardar o processo de impressão. Não sei como verificar.
Muito obrigado.
Responder1
Mude o driver. Por que? O driver RICOH recomendado para Linux usa um arquivo PPD não eficiente. Isso retarda o pré-processamento dos arquivos. (Os drivers do Windows também podem usar o arquivo PPD, e isso retarda o processo se o arquivo não estiver otimizado)
Usei drivers Gutenprint para resolver isso. O verdadeiro trabalho agora é obter o driver correto para suas impressoras, porque os drivers Gutenprint não existem para todas as máquinas RICOH (e outros fabricantes têm o problema do smae). O driver gutenprint quase semelhante ao 1106EX é o driver Aficio MP 1100. Mas tome cuidado ao enviar comandos lp: os InputTrays possuem nomes diferentes.