tPrinter urgente

Post Reply
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

tPrinter urgente

Post by sysctrl2 »

Colegas, necesito urgentemente de su apoyo,

la cuestion es la siguiiente,

siempre he usado tdosprn para imprimir tickets en impresoras termicas

o las que comunmente les dicen impresoras fiscales,

la todosprn, trabaja exelentemente, corta papel, abre el cajon, etc.etc.

pero me han pedido que en el ticket salga el logo de la empresa

de inmediato vino a mi mente, TPRINTER,

Ya tengo programado el ticket con la tprinter incluyendo el Logo,

pero no veo la forma de decirle a la tprinter que la pagina

debe de terminar en la linea !!! GRACIAS POR SU COMPRA !!!

me saca la tira como si el papel fuera tamaño carta,,,

como decirle a la tprinter que es papel de rollo, que la pagina debe

de terminar en el momento que se imprima el ultimo caracter,

existe algo como SETPAGE( 0 ) o tendre que decirle al cliente

que no se puede !!!

saludos y disculpen la lata.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

César,

Prueba a usar oPrinter:SetSize( nWidth, nHeight )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Gracias Antonio,

resulta que el ticket no es de una medida estandard,

como en los supermercados,

la tira de papel es infinita, en _,,

a lo mejor calculando los renglones antes de mandar

imprimir,,

alguien mas tiene alguna idea ??
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

PrnSetSize() no funciona

Post by sysctrl2 »

Señores,

segun lo que en este foro se ha dicho el siguiente codigo

en teoria tendria que hacer lo siguiente:

PrnSetSize( 800, 1400 ) // 8cm x 14cm

PRINT oPrn TITLE cTitulo TO alltrim( (cImpresor)->printer1 )

oPrn:SetSize( 800, 1400 ) //no funciona

PAGE

oPrn:cmsay(1,1, 'TEXTO' , oFnt1 )
ENDPAGE
ENDPRINT

No respeta las medidas que se especifica en la funcion SetSize

ni antes de la definicion del objeto ni despues,,


saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

César:

Alguna vez pasé por el mismo problema y resulta ser que yo esperaba ver el tamaño en la vista previa y con una impresora laser como impresora pre asignada, y nunca vi el resultado.

Hasta que puse como impresora pre asignada una impresora matriz de punto y mande a imprimir, hasta entonces vi que sí respetaba el tamaño que yo queria.

Sera que te pasa algo igual ?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

quetal Armando,

gracias por participar,

lo que comentas es cierto uno quisiera ver el resultado

en el preview

pero en mi caso, tambien ya probe directo a impresora,

y nada de nada , voy a seguir checando

debe de existir alguna forma

saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
Verhoven
Posts: 435
Joined: Sun Oct 09, 2005 7:23 pm

Impresora de Tikets

Post by Verhoven »

Me he encontrado con el mismo problema y al final he desistido. He tenido que utilizar la clase tdosprint y configurando la impresora como Generic/Text Only para poder mandar los códigos de apertura de cajon, etc. Tratando la impresora de otra forma no funciona como se espera y hace saltos de pagina donde no debe, etc...

Si das con la solución te ruego nos lo hagas saber.
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

VerhOven

como bien comentas, hay que instalar el driver Generic/Tex Only,

a mi me funciono con el papel

Full Width 72mm * Receipt

y en la tprinter no necesite poner nada adicional.

print oPrn
page
oPrn:cmsay( 1,1,cVar, oFnt1 )
endpage
endprint


Dejad que Microsoft controle todo jajaj,

desgraciadamente es poco profesional la solucion

pero solucion al fin,,

Saludos cordiales..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
Verhoven
Posts: 435
Joined: Sun Oct 09, 2005 7:23 pm

Post by Verhoven »

Y para abrir el cajon de monedas, ¿cómo envías el código correspondiente a la impresora?.

Al ser Text Only, ¿Te imprime los tipos de letra de windows o solo caracter de texto?. ¿Cómo imprimes los gráficos (logos)?

Saludos.
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Te respeta todos los font y graficos,

el corte de papel y apertura del cajon tambien lo puede controlar windows,,

pero una idea que me dio el buen Francisco Horta ,

puedes conbinar tprinter y tdosprn.


_abrecajon()

print oPRN
PAGE
* ......
ENDPAGE
ENDPRINT

_cortapeL()


function _abreCajon()
local oPrn
oPrn := TDosPrn():New('LPT1')
oPrn:Command( alltrim( (cAli)->abrecajon ) )
oPrn:end(, .f. )
return nil


function _CortarPapel( cAli)
local oPrn
oPrn := TDosPrn():New('LPT1')
oPrn:Command( alltrim( (cAli)->Cortar ) )
oPrn:end( .f., .f. )
return (.t.)

Poco sintetico pero solucion al fin !!!!!!!!!!!! jejeje..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
Post Reply