Saludos a todos.
Alguno puede facilitarme un ejemplo de los comandos de la TDOSPRN para cortar el papel automaticamente con esta impresora ?
EPSON TM-T2DII Receipt 5
Agradeceré mucho.
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
Saludos a todos.
Alguno puede facilitarme un ejemplo de los comandos de la TDOSPRN para cortar el papel automaticamente con esta impresora ?
EPSON TM-T2DII Receipt 5
Agradeceré mucho.
Que tal Francisco
Lo que yo hago, es que en la configuracion, le pongo
que corte al finalizar la impresion, y listo
Ya no lo uso (Que yo controlo el corte)
Pero lo usaba asi : _oPrn:CmSay(_Ren,0,Chr(27)+Chr(105))
Saludos.
Adolfo, Javier:
Muchas gracias por su valiosa información.
Efectivamente, he usado algunos de los comandos sugeridos y han funcionado en impresoras de tickets matriciales. (Unicamente he usado las de series TM-U200)
En la impresora TM-T2DII Receipt 5 no me funciona.
En este momento no tengo a la mano la impresora para hacer pruebas, por lo que agradecería me confirmaran si han usado esta impresora con esos comandos para cortar el papel.
Les digo que he "googleado" bastante, pero no he podido encontrar informarción.
Saludos
//------------------------------------------------------------------------------
FUNCTION CortaPapel(cImpresora)
LOCAL cFileTemp, cString
cFileTemp:= GetTempFilename( Application:CurrentDir() + "Spool" )
cString:= ""
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= chr(27)+"m"
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
cString+= " " + Hb_OsNewLine()
IF WriteStream( cFileTemp, cString )
WIN_PrintFileRaw( cImpresora, cFileTemp, "Cut_Paper" )
IF hb_FileExists( cFileTemp )
FErase( cFileTemp )
ENDIF
ENDIF
RETURN ( FError() == 0 )Asi hago yo y funciona en todas las termicas que por cierto las tengo como generic txt only
//esto es para el corte automatico del papel
//separo 5 filas que es la distancia entre la ultima impresion y la linea de corte
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Endpage()
//este es el grupo de comandos especificos para corte de papel
oprn:Startpage()
oprn:command("27","64" )
oprn:command("27","105" ) //corte total
oprn:command("18" )
oprn:Endpage()
oPrn:End()
//hasta aca el corte automatico
Gabo, Postinelli.
Muchas gracias. Mañana haré las pruebas correspondientes, y les comento.
Saludos.
***************
*CORTA EL PAPEL
***************
Function CortarPapel()
Local IMfac
Local cPorta
Local cPrinter
//LANZAMOS LA IMPRESION DEL CORTE DE PAPEL
cPorta := PrnGetPort()
cPrinter := PrinterPortToName( cPorta )
IMfac := TDosPrn():New(".\dbfs\lamtem\cortapapel.txt")
IMfac:StartPage()
IMfac:say(0,0,chr(027) + chr( 105 ) ) //Corte de papel
IMfac:EndPage()
IMfac:End()
PrintFileRaw( cPrinter, TrueName(".\dbfs\lamtem\cortapapel.txt"), "Corta Papel" )
return nilMuchas gracias Leandro.
Voy a intentarlo mañana.
//-------------------------------------//
Function CortarElPapel()
LOCAL oPrn
local nLin := 0
local nCol1:=2
local nCol2:=7
local nCol3:=20
local nCol4:=30
local cPort:= "LPT1"
local cPrinter := Alltrim(GetDefaultPrinter())
LOCAL cDoc := cNewFileName("C:\FAP_TEMP\Prueba","TXT")
local nAgregLnsCorte := 5
//Creamos carpeta donde se deposita temporalmente .txt de la factura
if !lIsDir("C:\FAP_TEMP")
lMKdir("C:\FAP_TEMP")
endif
nLin := 2
oPrn := TDosPrn():New(cDoc)
oPrn:StartPage()
oPrn:Say( nLin, nCol1, PADC("ESTA ES EMPRESA DUMMY",38) )
nLin+= 1
oPrn:Say( nLin, nCol1, PADC("Chinandega",38) )
nLin+= 2
oPrn:Say( nLin, nCol1, "Aqui va Codigo, Descrip, Canti, Precio" )
nLin+= 1
oPrn:Say( nLin, nCol1, "Aqui va Codigo, Descrip, Canti, Precio" )
nLin+= nAgregLnsCorte //Agreg lineas en blanco para linea del corte
oPrn:Say( nLin, nCol1, "" )
// Ninguno de estos hace el corte del papel
// CortarPapel( "Chr(27)+Chr(100)+Chr(0)+Chr(27)+Chr(105)" )
// oPrn:say(nLin,0,chr(027) + chr( 105 ) )
oPrn:EndPage()
oPrn:End()
PrintFileRaw( cPrinter, TrueName(cDoc), "CorteP" )
Ferase(cDoc)
return nilExcelente, Karinha.
Parece que aqui se encuentra la solución. Muchas gracias.
Saludos
[b]29 86 1[/b] (corte completo)