Enviado em 23/11/2017 - 16:07h
Depois de muito procurar uma solução de como imprimir QrCode nas impressoras do padrão ESC/POS utilizando C no linux, não encontrei nada em C, então resolvir criar uma função e disponibiliza-la para a comunidade.
int Print_qrcode_EscPos (char* szText)
{
int iRet =0;
char szLine[2046];
char szBuffer[]= "\x1D\x28\x6B\x03\x00\x31\x43?"
"\x1D\x28\x6B\x03\x00\x31\x45\x33"
"\x1D\x28\x6B??\x31\x50\x30";
int iSize = strlen(szText) + 3;
int lsb, msb;
memset(szLine, 0, sizeof(szLine));
FILE *f = fopen("qr_print.prt", "w");
if (f == NULL) f = stderr;
lsb = (iSize % 256);
msb = (iSize / 256);
szBuffer[7] = (char) 3; //Tamanho do QrCode -> 2 ao 12.
szBuffer[19] = (char) lsb;
szBuffer[20] = (char) msb;
fwrite (szBuffer, sizeof(char), sizeof(szBuffer)-1, f);
fwrite (szText , sizeof(char), strlen(szText), f);
fwrite ("\x1D\x28\x6B\x03\x00\x31\x51\x30", sizeof(char), 8, f);
fclose(f);
f = fopen("qr_print.prt", "r");
{
fgets(szLine, sizeof(szLine), f);
fclose(f)
}
iRet = dwrite (glPrinterHandle, (unsigned char *) szLine, (sizeof(szBuffer)-1) + (strlen(szText)) + 8);
//glPrinterHandle -> Porta de impressão.
return iRet;
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (1)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta