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