Imprimir código QR

Imprimir código QR

Postby acuellar » Thu Dec 10, 2015 6:21 pm

Hola amigos.

Tengo una impresora EPSON TM-T88V Térmica conectada a un puerto serial (COM1)
Debo imprimir texto la imagen del código QR luego texto
Code: Select all  Expand view

            FACTURA            
--------------------------------
        NIT: 1015531026        
       Nro Factura: 33906      
Nro Autorización: 7904001466830
--------------------------------
 
Fecha: 03/12/15   Hora: 14:25:18
NIT/CI: 0
SENOR(ES):SN

Cant Concepto     Precio   Total
--------------------------------
  1 Vino Blanco    138.60  138.60
--------------------------------
Total Bs:............     138.60
Son: Ciento treinta y ocho 60/100 Bs.
--------------------------------
[img]https://200.58.169.10/acr/qrcode.bmp[/img]

ESTA FACTURA CONTRIBUYE AL  
  DESARROLLO DEL PAIS. EL USO  
ILICITO DE ESTA SERA SANCIONADO
      DE ACUERDO A LA LEY.
 


Lo hago así
Code: Select all  Expand view

Static Function ImprimeFactura()
     Private nRow:= nTop:= nCol:= 0,oCodeQR
 
  cFilePRN:="C:\SISTEMAS\FACTURAS\FACTURA.PRN"
   oPrn:=TDosPrn():New( cFilePRN  )

      nL:=0  
     oFile:= TTxtFile():New( tFact )
     oFile:Skip(2)
     Do while !oFile:EOF()
        cLin:=oFile:ReadLine()
        nL++
        If Left(cLin,3)="[QR"
          cCode:=Subs(cLin,10,Len(cLin))
          oFile:Skip(2)
          Exit
        else
          oPrn:Say (nL,1,cLin)
        Endif
        oFile:Skip()
     EndDo
     oPrn:End()
   
    PrintFileRaw( "\\SERVER\EPSONT88V", cFilePRN )
   
     ObtineQR(cCode)
 
     PRINT oPrnQR NAME "FACTURA MICROS" TO "EPSON TM-T88V"
       DEFINE FONT oFont1 NAME "Lucida Console" SIZE 0,-9.5 OF oPrnQR
       nMargin:= 1;  nRow:= oPrnQR:nVertRes() / 60;nCol:= oPrnQR:nHorzRes() / 81  
 
     *oPrnQR:lEject := .F.
   
     PAGE
     oPrnQR:SayBitmap( nPRow(0), nPCol(01),"C:\SISTEMAS\FACTURAS\TEMP.BMP",140,140)
     ENDPage
   
     oPrn:=TDosPrn():New( cFilePRN  )
     nL:=1
     For I=1 to 10
        cLin:=oFile:ReadLine()
        nL++
        oPrn:Say (nL,1,cLin)
        oFile:Skip()
     Next I
     oFile:End()
     oPrn:End()
     PrintFileRaw( "\\SERVER\EPSONT88V", cFilePRN )
     ENDPrint
Return Nil  
 

El problema es que si uso sólo TPRINT la impresión es demasiada lenta. Si lo hago con TDOSPRN es rápida.
Con el código que tengo imprime hasta el código QR hace el corte del papel y luego imprime el resto.

Existe alguna forma de imprimir el código QR con TDOSPRN. El código de barras se puede. Quizas haya alguna forma.

Gracias por la ayuda.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Imprimir código QR

Postby acuellar » Fri Dec 11, 2015 2:57 pm

Cuál font es el que mas se parece al comprimido de matricial Chr(15)

Gracias.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 98 guests