Impressao TDosPrn em impressora EPSON TM-UD200PD
Alguem teria exemplos de como compactar,expandir,negrito nesta impressora com a classe do tdosprn ?
Pos funciona em todas as matriciais menos nela
oPrn := MaTDosPrn():New( cTemp )
oPrn:StartPage()
SetPrc(00,00)
oPrn:Say(nLin,00,&(oPub:PrnNeg) + Left(Setup->Empresa,37) + &(oPub:PrnNegF) ) // Recolocar xdata
nLin++
oPrn:Say(nLin,00,&(oPub:PrnPeq) + "DATA:" + DToC(xData) + " HORA : " + Time()+ &(oPub:PrnNegF) )
nLin++
oPrn:Say(nLin,00,&(oPub:PrnPeq) + Left(Setup->Ender,38) )
nLin++
EPSON TM-U200PD
EPSON TM-U200PD
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
Code: Select all | Expand
/*
ESC ! n 33 21 Selección maestra de estilos
Sume los números de los estilos que
quiera combinar para encontrar el valor
de n
n = 0 : 10cpp
1 : 12cpp
2 : proporcional
4 : comprimido
8 : negrita
16 : doble altura
32 : doble anchura
64 : cursiva
128 : subrayado
Chr(27)+"E" Negrito
Chr(27)+"F" Cancelar negrito
Chr(14) Expandido
Chr(20) Canecelar expandido
Chr(15) Condensado
Chr(18) Cancelar condensado
Chr(27)+"M" 12 caracteres por "
Chr(27)+"P" 10 Caracteres por "
Chr(27)+"C"+Chr(xx) determina quantidade de linhas por pagina
Sublinhado = chr(27)+chr(45)+chr(1)
Negrito = chr(27)+chr(69)
Mod default= chr(27)+chr(64)
Condesado = chr(27)+chr(15)
Expandido = chr(27)+chr(33)+chr(48) 10CPI
Expandido = chr(27)+chr(33)+chr(49) 12CPI
Avança Folha = chr(12)
Avança 1 linha = chr(10)
Itálico:
. Ativa: CHR(27)+CHR(52)
. Desativa: CHR(27)+CHR(53)
Sublinhado:
. Ativa: CHR(27)+CHR(45)+CHR(01)
. Desativa: CHR(27)+CHR(45)+CHR(00)
Subscript:
. Ativa: CHR(27)+CHR(69)
. Desativa: CHR(27)+CHR(70)
*/
oPrn:= TDosPrn():New( cFile, .T., .F. )
++nRow
oPrn:Say( nRow, 00, chr(27)+"!"+ chr(11)+PadC( aTitulos[1], 40 ) )
++nRow
oPrn:Say( nRow, 00, chr(27)+"!"+Chr(3)+PadC( aTitulos[2], 40 ) )
++nRow
oPrn:Say( nRow, 00, PadC( aTitulos[3], 40 ) )
++nRow
oPrn:Say( nRow, 00, PadC( aTitulos[4], 40 ) )
++nRow
oPrn:Say( nRow, 00, PadC( aTitulos[5], 40 ) )
++nRow
++nRow
oPrn:Say( nRow, 00, chr(27)+"!"+ chr(10)+"FECHA:" + DToC( ::dFechaVentas ) )
oPrn:Say( nRow, 20, "FOLIO:" )
oPrn:Say( nRow, 26, TRANSFORM(::nNoVenta,'99999999' )+chr(27)+"!"+Chr(3) )
++nRow
oPrn:Say( nRow, 00, "CAJERO(A): " + Left(::cNomCajero,14) )
oPrn:Say( nRow, 26, "TURNO: " + ::cNoTurno+Chr(15) )
++nRow
oPrn:Say( nRow, 00, Repli("-",40) )
++nRow
oPrn:Say( nRow, 00, "CANT DESCRIPCION ARTICULO PRECIO" )
++nRow
oPrn:Say( nRow, 00, Repli("-",40) )
FOR nn:= 1 TO Len( ::aDetalle )
++nRow
oPrn:Say(nRow, 00, TRANSFORM( ::aDetalle[nn,3], '9999' ) )
oPrn:Say(nRow, 05, Left(::aDetalle[nn,2],24) )
oPrn:Say(nRow, 30, Transform( ::aDetalle[nn,5], '999,999.99' ) )
nSuma+= ::aDetalle[nn,5]
NEXT
++nRow
oPrn:Say(nRow, 28, chr(27)+"!"+ chr(10)+"==========" )
++nRow
oPrn:Say(nRow, 12, "SUBTOTAL" )
oPrn:Say(nRow, 23, Transform(nSuma, '999,999.99' ) )
++nRow
oPrn:Say(nRow, 12, " DESCTO" )
oPrn:Say(nRow, 23, Transform(0, '999,999.99' ) )
++nRow
oPrn:SAY(nRow, 22, "----------" )
++nRow
oPrn:Say(nRow, 12, " TOTAL" )
oPrn:Say(nRow, 23, Transform(nSuma, '999,999.99' ) )
++nRow
oPrn:Say(nRow, 23, "----------" )
++nRow
oPrn:Say(nRow, 12, " SU PAGO" )
oPrn:Say(nRow, 23, Transform(::nEfectivo, '999,999.99' ) )
++nRow
oPrn:Say(nRow, 12, " CAMBIO" )
oPrn:Say(nRow, 23, Transform(::nCambio, '999,999.99' ) )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " " )
++nRow
oPrn:Say(nRow, 00, " "+CHR(27)+CHR(33)+CHR(4) )
oPrn:EndPage( .T., .F. )
oPrn:End( .T., .F. )
Saludos
// Initializa el Printer for Epson
oPrn:Command("27 64")
//Limpiar el Buffer
oPrn:Command("24")
// Seleccionar double strike for Epson
oPrn:Command("27,71")
// Cancelar double strike For Epson
oPrn:Command("27,72")
// Seleccionar 12 CPI for Epson
oPrn:Command("27,77")
//Define Altura de Pagina
oPrn:Command("27, 67, 48, 3") // En Pulgadas
oPrn:Command("27, 67, 25") // En No. de lineas
Saludos,
George
oPrn:Command("27 64")
//Limpiar el Buffer
oPrn:Command("24")
// Seleccionar double strike for Epson
oPrn:Command("27,71")
// Cancelar double strike For Epson
oPrn:Command("27,72")
// Seleccionar 12 CPI for Epson
oPrn:Command("27,77")
//Define Altura de Pagina
oPrn:Command("27, 67, 48, 3") // En Pulgadas
oPrn:Command("27, 67, 25") // En No. de lineas
Saludos,
George