pstglia Postado 3 Setembro Postado 3 Setembro Olá Gostaria de compartilhar o código de um shell script simples que montei para teste de impressão no Linux. O script recebe 3 parâmetros (texto_titulo, texto1 e texto2) Ele basicamente submete os seguintes comandos ESC/POS na porta da impressora (mapeada através da constante DEV_IMPRESSORA, setada com /dev/usb/lp0): Inicializa a impressora; Seleciona o codepage 850 (opção 2 multi língua) Imprime o titulo centralizado em largura dupla + negrito Imprime o texto1 em fonte padrão alinhado a esquerda Imprime o texto2 centralizado em largura e altura dupla + negrito Por fim, avança algumas linhas e corta o papel O script depende do comando awk (presente em todas as distribuições) e do comando iconv (usado para converter a codificacao do texto a ser impresso de UTF-8 para CP850) Espero que seja útil Abraços, Paulo #!/bin/bash p_titulo="$1" p_texto_1="$2" p_texto_2="$3" DEV_IMPRESSORA="/dev/usb/lp0" echo 1 | awk -v p_titulo="${p_titulo}" -v p_texto_1="${p_texto_1}" -v p_texto_2="${p_texto_2}" '{ # Inicializa a impressora printf("%c%c", 0x1b, 0x40) # Seleciona o codepage 850 printf("%c%c%c", 0x1b, 0x74, 0x02) # Avanca algumas linhas printf("%c%c", 0x0a, 0x0a) # Centraliza o texto printf("%c%c%c", 0x1b, 0x61, 0x31) # Escolhe negrito e altura dupla para a fonte printf("%c%c%c", 0x1b, 0x21, 0x08 + 0x10) # Imprime o titulo printf("%s",p_titulo) # Volta a fonte normal printf("%c%c%c", 0x1b, 0x21, 0x00) # Avanca uma linha e imprime o primeiro texto # alinhado a esquerda printf("%c%c%c%c", 0x0a, 0x1b, 0x61, 0x30) printf("%s%c","=======================================", 0x0a) printf("%s%c",p_texto_1, 0x0a) printf("%s%c","=======================================", 0x0a) # Avanca algumas linhas e imprime o segundo texto # centralizado, em negrito, com alturaxlargura dupla printf("%c%c%c%c%c%c%c%c", 0x0a, 0x0a, 0x1b, 0x21, 0x08 + 0x10 + 0x20, 0x1b, 0x61, 0x31) printf("%s",p_texto_2) printf("%c%c%c%c%c%c", 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a) # Corta o papel (corte full) printf("%c%c", 0x1b, 0x69) }' | iconv -f UTF-8 -t CP850 > ${DEV_IMPRESSORA} 1 1
Fundadores Daniel Simoes Postado 3 Setembro Fundadores Postado 3 Setembro Obrigado por compartilhar Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora