Bematech 4200 não fiscal.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Bematech 4200 não fiscal.

Mensagem por asimoes »

Pessoal,

Alguém tem algum exemplo de impressão para bematech 4200 não fiscal, sem uso da dll?
Preciso saber também se é possível imprimir uma imagem bitap
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Bematech 4200 não fiscal.

Mensagem por fladimir »

Alexandre, via Win32PRN nunca tentei imprimir imagem apenas impressão comum e funciona, talvez até a logo, tem q testar.

No caso da Epson TM-20 vc pode carregar via software da Epson uma imagem pra impressora e depois toda impressão sai com essa logo sem ter q usar Dll, agora no caso da Bematech 4200 no quesito logo não sei dizer.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Bematech 4200 não fiscal.

Mensagem por gilbertosilverio »

Alexandre,


Uso essa rotina, pesquise por Bematch Bartender na net, procurei nos meus guardados, mais como sempre nunca acho quando preciso... rsrsrs

Código: Selecionar todos


FUNCTION TESTEBEMA4200()
   LOCAL nQTDE:=1
   PRIVATE TXTARQ, WLINHA, nTAMANHO
   PRIVATE AAA:=[C:\ETIQUETA.PRN]
   PRIVATE ARQTESTE:=FCREATE( AAA, 0 )

   nQTDE:=ROUND(vQtdeBalcao/3,0)

   IF nQTDE = 0
      nQTDE:=1
   ENDIF
   /*
   TXT01:=[<xpml><page quantity='0' pitch='26.0 mm'></xpml>SIZE 107.7 mm, 26 mm]
   TXT02:=[DIRECTION 0,0]
   TXT03:=[REFERENCE 0,0]
   TXT04:=[OFFSET 0 mm]
   TXT05:=[SET PEEL OFF]
   TXT06:=[SET CUTTER OFF]
   TXT07:=[<xpml></page></xpml><xpml><page quantity="]+ALLTRIM(STR(nQTDE,4))+[" pitch='26.0 mm'></xpml>SET TEAR ON]
   TXT08:=[CLS]
   TXT09:=[CODEPAGE 1252]
   TXT10:=[TEXT 788,197,"0",180,6,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT11:=[TEXT 516,197,"0",180,6,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT12:=[TEXT 244,197,"0",180,6,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT13:=[TEXT 788,165,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT14:=[TEXT 516,165,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT15:=[TEXT 244,165,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT16:=[TEXT 740,132,"0",180,9,10,"PoR R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT17:=[TEXT 468,132,"0",180,9,10,"PoR R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT18:=[TEXT 196,132,"0",180,9,10,"PoR R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT19:=[BARCODE 820,71,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT20:=[TEXT 738,32,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT21:=[BARCODE 532,71,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT22:=[TEXT 450,32,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT23:=[BARCODE 244,71,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT24:=[TEXT 162,32,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT25:=[PRINT 1,]+ALLTRIM(STR(nQTDE,4))
   TXT26:=[<xpml></page></xpml><xpml><end/></xpml>]
   */
   TXT01:=[<xpml><page quantity='0' pitch='23.0 mm'></xpml>SIZE 107.7 mm, 23 mm]
   TXT02:=[DIRECTION 0,0]
   TXT03:=[REFERENCE 0,0]
   TXT04:=[OFFSET 0 mm]
   TXT05:=[SET PEEL OFF]
   TXT06:=[SET CUTTER OFF]
   TXT07:=[<xpml></page></xpml><xpml><page quantity="]+ALLTRIM(STR(nQTDE,4))+[" pitch='23.0 mm'></xpml>SET TEAR ON]
   TXT08:=[CLS]
   TXT09:=[CODEPAGE 1252]
   TXT10:=[TEXT 812,165,"0",180,5,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT11:=[TEXT 541,165,"0",180,5,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT12:=[TEXT 269,165,"0",180,5,8,"]        + ALLTRIM(vDESCRBALCAO)         + ["]
   TXT13:=[TEXT 812,141,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT14:=[TEXT 541,141,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT15:=[TEXT 269,141,"0",180,8,8,"De R$ ]  + ALLTRIM(STR(vPrecoBalcao,8,2))+ ["]
   TXT16:=[TEXT 724,109,"0",180,8,8,"Por R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT17:=[TEXT 453,109,"0",180,8,8,"Por R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT18:=[TEXT 181,109,"0",180,8,8,"Por R$ ]+ ALLTRIM(STR(vLiquBalcao,8,2)) + ["]
   TXT19:=[BARCODE 812,79,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT20:=[TEXT 730,40,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT21:=[BARCODE 541,79,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT22:=[TEXT 459,40,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT23:=[BARCODE 269,79,"39",34,0,180,2,5,"]+strzero(vCODBALCAO,6)+["]
   TXT24:=[TEXT 187,40,"0",180,8,8,"]+strzero(vCODBALCAO,6)+["]
   TXT25:=[PRINT 1,]+ALLTRIM(STR(nQTDE,4))
   TXT26:=[<xpml></page></xpml><xpml><end/></xpml>]

   FCLOSE(ARQTESTE)

   TXTARQ:=FOPEN( AAA, 2 )
   A:=1
   DO WHILE A <= 26
      xTXT   := [TXT]+ALLTRIM(STRZERO(A,2))
      WLINHA := &xTXT+CHR(13)+CHR(10)
      FSEEK ( TXTARQ, 0, 2 )
      FWRITE( TXTARQ, ALLTRIM(WLINHA), LEN(WLINHA))
      A++
   ENDDO

   FCLOSE(ARQTESTE)

   cArquivo := AAA

   cImpressora := GetDefaultPrinter()  // Pego a Impressora Padrão

   PrintFileRaw(cImpressora, cArquivo, [Teste]) // Jogo o arquivo nela, ela pode estar LPT1, USB q vai embora...

   vCodBalcao  :=0
   vDescrBalcao:=SPAC(35)
   vQtdeBalcao :=1
   vPrecoBalcao:=0
   vDescoBalcao:=0
   vLiquBalcao :=0

RETURN NIL

GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Bematech 4200 não fiscal.

Mensagem por gilbertosilverio »

Alexandre,

Me desculpe, enviei a da Bematech LB100.

Para a 4200 uso esse aqui.

Código: Selecionar todos

FUNCTION TESTECHR()
   PRIVATE TXTARQ, WLINHA, nTAMANHO
   PRIVATE AAA:=[C:\CUPON.PRN]
   PRIVATE ARQTESTE:=FCREATE( AAA, 0 )
   //TXT01:=chr(29) + chr(249) + chr(32) + chr(0) + chr(27) + chr(116) + chr(8)              // inicializa o ESC BEMA
   //TXT02:=chr(27) + chr(87) + chr(1) + "TESTE Medicamentos " + chr(27) + chr(87) + chr(0)  // EXPANDIDO
   //TXT03:=chr(15) + '**************************************************'+ chr(18)          // CONDENSADO/NORMAL
   INICIO  :=chr(29) + chr(249) + chr(32) + chr(0) + chr(27) + chr(116) + chr(8)
   EXPANDE :=chr(27) + chr(87) + chr(1)
   cEXPANDE:=chr(27) + chr(87) + chr(0)
   CONDENSA:=chr(15)
   NORMAL  :=CHR(18)
   NEGRITO :=chr(27) + chr(69)
   cNEGRITO:=chr(27) + chr(69)
   CORTA   :=CHR(27)+CHR(119)
   TXT01:=INICIO
   TXT02:=EXPANDE + "TESTE Medicamentos" + cEXPANDE
   TXT03:=CONDENSA+"12345678901234567890123456789012345678901234567890123456789012345"+NORMAL // 65 CRTS
   TXT04:='12345678901234567890123456789012345678901234567890'                                // 50 CRTS
   TXT05:=chr(15) +'modo condensado'+ CHR(18)
   TXT06:=NEGRITO + "Modo Negrito"                               //+ chr(27) + chr(70) CANCELA NEGRITO
   TXT07:= EXPANDE + "1234567890123456789012345" + cEXPANDE      // 25 CRTS
   TXT08:='1234567890123456789012345678901234567890' + cNEGRITO  //+ chr(27) + chr(70)
   TXT09:='Teste teste teste'
   TXT10:='Teste teste teste teste'
   TXT11:=CORTA   // CORTE DO PAPEL
   FCLOSE(ARQTESTE)
   TXTARQ:=FOPEN( AAA, 2 )
   A:=1
   DO WHILE A <= 11
      xTXT   := [TXT]+ALLTRIM(STRZERO(A,2))
      WLINHA := &xTXT+CHR(13)+CHR(10)
      FSEEK ( TXTARQ, 0, 2 )
      FWRITE( TXTARQ, ALLTRIM(WLINHA), LEN(WLINHA))
      A++
   ENDDO
   FCLOSE(TXTARQ)
   cArquivo := AAA
   cImpressora := GetDefaultPrinter()           // Pego a Impressora Padrão
   PrintFileRaw(cImpressora, cArquivo, [Teste]) // Jogo o arquivo nela, ela pode estar LPT1, USB q vai embora...

RETURN NIL

GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Bematech 4200 não fiscal.

Mensagem por asimoes »

Gilberto,

Obrigado pelas informações, onde eu trabalho temos a mp-4000 que estão em uso e mp-4200 que foram compradas para substituir as mp-4000 em caso de defeito, esses comando que você passou servem também para mp-4000?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Bematech 4200 não fiscal.

Mensagem por gilbertosilverio »

Alexandre,

Não sei te informar, pois aqui na distribuidora so temos as 4200... Mais creio que deve funcionar...
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Bematech 4200 não fiscal.

Mensagem por Jairo Maia »

Olá Pessoal,

Alexandre, creio também que vá funcionar, pois tenho clientes que usam a Epson, Elgin, e Bemathec. No caso da Bematech, um cliente usa a 2500 e outro a 4200, e a mesma função de impressão funciona igualmente em ambas as Bematech.

Para a Bematech o único ajuste que foi necessário foi o comando de acionamento da guilhotina, nada mais. Ms como você já trabalha com a 4000, acredito que não haverá problema.

NOTA: Nunca usei impressão de BitMaps, então sobre isso também não sei dizer.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Bematech 4200 não fiscal.

Mensagem por asimoes »

Olá Jairo,

Obrigado pelas informações, eu tenho um sistema que faz impressão nas impressoras mp-4000 e mp-4200, uso a dll, estou querendo desenvolver uma outra aplicação mas sem o uso da dll, porque eu sei que a bematech cria uma impressora virtual ou uma impressora windows.

Usando a dll mp2032.dll eu consigo imprimir o logo da entidade, o que eu queria saber se é possível imprimir este logo que é um bitmap apenas usando a sequencia escape
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder