Bom dia galera,
Ultimamente ando num projeto de criação de uma camada para impressão na Bematech MP-2500 TH e passei por um problema para impressão de QRCode no formato que deve ser impresso nos cupons do SAT, utilizando a dll mp2032.dll.
Com o código gerado pela função de impressão de QrCode da própria dll, depois de um determinado número de caracteres não conseguia mais ler pelos aplicativos.
Passei um bom tempo fazendo testes e tentando contato com o suporte ao desenvolvedor da Bematech (que por sinal está bem complicado rsrs), mas finalmente consegui e vou abaixo a forma como fiz a impressão e testei o código em aplicativos do celular e deu certo.
Procedure ImprimirQrCode();
var
Arq : TextFile;
cCaracter, Linha : AnsiString;
I, iTam1, iTam2 : integer;
begin
AssignFile(Arq, 'COM1');
Rewrite(Arq);
Writeln(Arq, #27'@'#29#249#32#48);
for J := 1 to length(Linha) do
cCaracter := cCaracter + AnsiChar(chr(Ord(Linha[J])));
if (length(Linha) > 255) then
begin
iTam1 := length(Linha) mod 255;
iTam2 := length(Linha) div 255;
end
else
begin
iTam1 := length(Linha);
iTam2 := 0;
end;
Writeln(Arq, #27+ #97 +#49 + #1 + #29 + #107 + #81 + #0 + #0 + #4 + #2 + AnsiChar(chr(iTam1)) + AnsiChar(chr(iTam2)) + cCaracter);
CloseFile(Arq);
end;
Nenhum comentário:
Postar um comentário