Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 2614 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado
1 hora atrás, Felipe E. Resende Mesquita disse:

Boa tarde, juniorguillen. 

Quando postar código e o mesmo for extenso, anexe o mesmo. Não cole dessa forma, pois assim fica difícil para ler e entender.

Perfeitamente, me desculpe pelo inconveniente. 

  • Membros Pro
Postado
Em 07/03/2018 at 01:14, herculanojs disse:

Seria possivel você postar a solução para pessoas com o mesmo problema ?

Em relação ao qrcode consegui imprimir, contudo não consigo passar de 126 caracteres no qrcode. Acima disso não imprime.

procedure TMiniThermalBluetooth.WriteQrCode(text: string);
var d,dL,dH:integer;
begin
     d := length(text);
     dL := d mod 256;
     dH := d div 256;

     write(chr(27)+chr(64));
     write(escAlignCenter);
     write(chr(27)+chr(90)+chr(40)+chr(0)+chr(6)+chr(dL)+chr(dH)+text);
end;

codigo barra 128c

                  write(chr(29)+chr(104)+chr(40)); //altura
                  write(chr(29)+chr(119)+chr(2)); //largura
                  write(chr(29)+chr(72)+chr(0)); //(GS H n) hri
                  write(escAlignLeft);
                  write(chr(29)+chr(107)+chr(73)+chr(23)+chr(123)+chr(67)+copy(FieldByName('chave').AsString,1,23)+chr(0));
 

No caso estou pegando apenas 23 caracteres da chave. Percebi que se o código for ultrapassar o tamanho de impressão, a impressora não imprime. Ainda não descobri uma forma de reduzir tamanho do mesmo, pois apesar de ajustar a alargura, mas a mesma obedece um padrão, e 54 bytes no codigo de barras não cabe em 80mm. Pelo menos não consegui fazer.

Boa tarde herculanojs, gostaria de saber se você conseguiu alguma solução para o qrcode. 

Aproveitando o contato,  gostaria de saber se você usa a impressão de boletos. Gostaria de saber como faço fazer a impressão "de lado".  Eu achei no manual o comando ESC V n que fala do rotacionamento porém não consegui utilizar. 

  • Fundadores
Postado

Pode interessar as frequentadores desse tópico...

A ACBrPosPrinterLib, está em fase final, está sendo desenvolvida, pelo @Rafael Dias... Ela será uma DLL contemplando todas as funcionalidades do Componente ACBrPosPrinter, que suporta praticamente todas as impressoras não fiscais do mercado nacional.... logo enviarmos mais informações.

 

https://www.projetoacbr.com.br/forum/forum/63-equipamentos-testados/

 

 

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 3 semanas depois ...
Postado
Em ‎13‎/‎04‎/‎2018 at 14:48, juniorguillen disse:

Boa tarde, para contribuir com a comunidade,  segue a procedure que uso para imprimir o código.

 


procedure TfrmPrincipal.Imprime_CodBarras(chave:string);
begin
  FSocket.SendData(TEncoding.UTF8.GetBytes(
  chr(32) + chr(32)  +   // 2 espaços
  chr(29) + chr(104) + chr(80) + // atribui a altura do Codigo de Barras sendo n de 1 a 40
  chr(29) + chr(119) + chr(0)  + chr(2)  +  // (GS w n)  atribui a largura do Codigo de Barras sendo n de 1 a 4
  chr(29) + chr(72)  + chr(0)  +  // (GS H n)  atribui o HRI que sao os numeros abaixo do código 0 sem 1 acima 2 abaixo
  chr(29) + chr(107) + chr(73) + chr(24) +  // (GS K m n)atribui o tipo e comprimento do codigo 128C=73(49hex) e 22 posicoes (18 hex)
  chr(123)+ chr(67)  +  // atribui que o padrão do CB 128 é tipo C
  // chave
  char(StrToInt(Copy(chave,1,2))) +
  chr(StrToInt(Copy(chave,3,2)))  +
  chr(StrToInt(Copy(chave,5,2)))  +
  chr(StrToInt(Copy(chave,7,2)))  +
  chr(StrToInt(Copy(chave,9,2)))  +
  chr(StrToInt(Copy(chave,11,2))) +
  chr(StrToInt(Copy(chave,13,2))) +
  chr(StrToInt(Copy(chave,15,2))) +
  chr(StrToInt(Copy(chave,17,2))) +
  chr(StrToInt(Copy(chave,19,2))) +
  chr(StrToInt(Copy(chave,21,2))) +
  chr(StrToInt(Copy(chave,23,2))) +
  chr(StrToInt(Copy(chave,25,2))) +
  chr(StrToInt(Copy(chave,27,2))) +
  chr(StrToInt(Copy(chave,29,2))) +
  chr(StrToInt(Copy(chave,31,2))) +
  chr(StrToInt(Copy(chave,33,2))) +
  chr(StrToInt(Copy(chave,35,2))) +
  chr(StrToInt(Copy(chave,37,2))) +
  chr(StrToInt(Copy(chave,39,2))) +
  chr(StrToInt(Copy(chave,41,2))) +
  chr(StrToInt(Copy(chave,43,2))) +
  // chave
  chr(32) + chr(10)+ chr(13)));  // espaço e enter;
end;


 

Junior, você já conseguiu imprimir qrCode ?

Em ‎13‎/‎04‎/‎2018 at 16:55, juniorguillen disse:

Boa tarde herculanojs, gostaria de saber se você conseguiu alguma solução para o qrcode. 

Aproveitando o contato,  gostaria de saber se você usa a impressão de boletos. Gostaria de saber como faço fazer a impressão "de lado".  Eu achei no manual o comando ESC V n que fala do rotacionamento porém não consegui utilizar. 

Junior, não consegui avançar com qrcode não.

  • 1 mês depois ...
Postado

 

Em 13/04/2018 at 15:48, juniorguillen disse:

Boa tarde, para contribuir com a comunidade,  segue a procedure que uso para imprimir o código.

 


procedure TfrmPrincipal.Imprime_CodBarras(chave:string);
begin
  FSocket.SendData(TEncoding.UTF8.GetBytes(
  chr(32) + chr(32)  +   // 2 espaços
  chr(29) + chr(104) + chr(80) + // atribui a altura do Codigo de Barras sendo n de 1 a 40
  chr(29) + chr(119) + chr(0)  + chr(2)  +  // (GS w n)  atribui a largura do Codigo de Barras sendo n de 1 a 4
  chr(29) + chr(72)  + chr(0)  +  // (GS H n)  atribui o HRI que sao os numeros abaixo do código 0 sem 1 acima 2 abaixo
  chr(29) + chr(107) + chr(73) + chr(24) +  // (GS K m n)atribui o tipo e comprimento do codigo 128C=73(49hex) e 22 posicoes (18 hex)
  chr(123)+ chr(67)  +  // atribui que o padrão do CB 128 é tipo C
  // chave
  char(StrToInt(Copy(chave,1,2))) +
  chr(StrToInt(Copy(chave,3,2)))  +
  chr(StrToInt(Copy(chave,5,2)))  +
  chr(StrToInt(Copy(chave,7,2)))  +
  chr(StrToInt(Copy(chave,9,2)))  +
  chr(StrToInt(Copy(chave,11,2))) +
  chr(StrToInt(Copy(chave,13,2))) +
  chr(StrToInt(Copy(chave,15,2))) +
  chr(StrToInt(Copy(chave,17,2))) +
  chr(StrToInt(Copy(chave,19,2))) +
  chr(StrToInt(Copy(chave,21,2))) +
  chr(StrToInt(Copy(chave,23,2))) +
  chr(StrToInt(Copy(chave,25,2))) +
  chr(StrToInt(Copy(chave,27,2))) +
  chr(StrToInt(Copy(chave,29,2))) +
  chr(StrToInt(Copy(chave,31,2))) +
  chr(StrToInt(Copy(chave,33,2))) +
  chr(StrToInt(Copy(chave,35,2))) +
  chr(StrToInt(Copy(chave,37,2))) +
  chr(StrToInt(Copy(chave,39,2))) +
  chr(StrToInt(Copy(chave,41,2))) +
  chr(StrToInt(Copy(chave,43,2))) +
  // chave
  chr(32) + chr(10)+ chr(13)));  // espaço e enter;
end;


 

Estou fazendo isso também, mas na impressora SEIKO DPU-S445 mas não tem jeito de imprimir o código de barras, no meu caso é código de barras de fatura de energia. Para começar só existem 7 opções de tipo de código de barras 0 UPC-A, 1 UPC-E, 2 JAN13(EAN), 3 JAN8, 4 CODE39, 5 ITF, 6 CODABAR, 7 CODE128 e a função é (GS 'k' n {DATA}) sendo n o tipo e data o código de barras. 

Postado
2 horas atrás, paiaka2012 disse:

 

Estou fazendo isso também, mas na impressora SEIKO DPU-S445 mas não tem jeito de imprimir o código de barras, no meu caso é código de barras de fatura de energia. Para começar só existem 7 opções de tipo de código de barras 0 UPC-A, 1 UPC-E, 2 JAN13(EAN), 3 JAN8, 4 CODE39, 5 ITF, 6 CODABAR, 7 CODE128 e a função é (GS 'k' n {DATA}) sendo n o tipo e data o código de barras. 

CODE128 :Input a start code as 103 to 105, and input arbitrary number as 0 to 102,
then input a stop code as 103 or larger.                         Já tentei todo o possível e nada

Postado

Bom dia. Então como diria o Junior, para contribuir com a comunidade, segue a solução para a seiko DPU-S445.

Imprimindo código de barras padrão ITF (interleaved 2 of 5). Impressora não imprimia nada pois o código de barras era muito grande (48 posições) e as configurações de largura e etc estavam erradas, em algumas impressoras imprime alguma coisa mesmo assim, mas nesse caso não imprime nada se ultrapassar a margem da folha definida na impressora, oq me deixou as cegas por um bom tempo.

if (FSocket <> nil) and (FSocket.Connected) then
  begin
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr(27) + chr(64)));

    FSocket.SendData(TEncoding.UTF8.GetBytes(chr(27) + chr(33) + chr(0)));   

    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 119 ) + chr(0) + chr(0)));  // GS 'w' n1 n2  Set Width of Bar Code
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 80 )  + CHR(0)));  //(GS P n) Bar Position
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 104 ) + chr(100)));  //(GS h n) Bar Height  altura do código de Barras 
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 72 )  + chr(1)));   // (GS H n)  HRI Character Print Position   0 sem 1 acima 2 abaixo
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 102 ) + chr(1)));   // (GS f n)  Storings Font Size
    FSocket.SendData(TEncoding.UTF8.GetBytes(chr( 29 ) + chr( 110 ) + chr(3)));   // (GS n n)  Nominal Fine Element Width

    FSocket.SendData(TEncoding.UTF8.GetBytes(chr(29) + chr(107) + chr(5) + edit1.Text + chr(0))); //GS 'k' n {DATA} Print Bar Code
  end;

  • Este tópico foi criado há 2614 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...