Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2365 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á 2365 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...