Impresion rollo termico

Impresion rollo termico

Postby servicomver » Thu Sep 29, 2016 11:04 pm

Hola:
Necesito enviar una impresion a una mini printer termica con rollo de 8mm, el cual contiene una imagenes, como puedo hacer para que no me corte la impresion a tamaño carta ?, necesito que el largo varie hasta donde sea necesaria la impresion del ticket.

Gracias
servicomver
 
Posts: 179
Joined: Fri Nov 18, 2005 7:34 pm

Re: Impresion rollo termico

Postby karinha » Fri Sep 30, 2016 1:26 pm

Miar se ayuda:

Code: Select all  Expand view

 cTitulo := EcfEnfatizar() + EcfExpandidoV() + cTitulo + EcfAvancoLinha()
 oImp:ImprimeRelatorioGerencial( cTitulo )

****************************************************************************
function EcfNormal()
****************************************************************************
*
* Coloca a letra em negrito
* Parametros: cText
* Retorno: Character
*
* Autor: Vagner Miv
* 29/10/2009 - 15:44:39
*
****************************************************************************

local Result := ''

 if  EcfMarca() == ecf_bematech

 elseif EcfMarca() == ecf_daruma

 elseif EcfMarca() == ecf_sweda

   Result := Chr(16) + "N"

 elseif EcfMarca() == ecf_elgin

 end

Return Result

/*------------------------------------------------------------------------*/

****************************************************************************
function EcfEnfatizar()
****************************************************************************
*
* Coloca a letra enfatizada
* Parametros: cText
* Retorno: Character
*
* Autor: Vagner Miv
* 29/10/2009 - 15:44:39
*
****************************************************************************

local Result := ''//, cInicia := '', cCancela := ''

 if EcfMarca() == ecf_bematech

   If EcfIsMfd()

    Result := Chr(27) + Chr(87) + Chr(1)

   else

    Result := Chr(27) + Chr(69)

   end

   //cCancela := Chr(27) + Chr(70)

 elseif EcfMarca() == ecf_daruma

   Result := Chr(17)
   //cCancela := Chr(19)

 elseif EcfMarca() == ecf_sweda

   Result := Chr(16) + "E"

 elseif EcfMarca() == ecf_elgin

   //Result := ""
   Result := "\x1b!"

 end

Return Result

/*------------------------------------------------------------------------*/

****************************************************************************
function EcfExpandidoV()
****************************************************************************
*
* Coloca a letra expandido na vertical
* Parametros: cText
* Retorno: Character
*
* Autor: Vagner Miv
* 29/10/2009 - 17:52:03
*
****************************************************************************

local Result := ''//, cInicia := '', cCancela := ''

 if EcfMarca() == ecf_bematech

   If EcfIsMfd()

    Result := Chr(27) + Chr(100) + Chr(1)

   else

    Result := Chr(27) + Chr(15) + Chr(27) + Chr(14)

   end

   //cCancela := Chr(27) + Chr(100) + Chr(0)

 elseif EcfMarca() == ecf_daruma

   Result := '<e>'
   //cCancela := '</e>'

 elseif EcfMarca() == ecf_sweda

   Result := Chr(16) + "V"

 elseif EcfMarca() == ecf_elgin

   //Result := ""
   Result := "\x20"

 end

Return Result

/*------------------------------------------------------------------------*/

****************************************************************************
function EcfAvancoLinha()
****************************************************************************
*
* Salta uma linha
* Parametros:
* Retorno:
*
* Autor: Vagner Miv
* 30/10/2009 - 16:33:41
*
****************************************************************************

local Result := ''

 if EcfMarca() == ecf_bematech

   If EcfIsMfd()

    //-- Desabilitar a formatação antes da proxima linha
    Result := Chr(27) + Chr(64)

   else

    //-- Não necessita de comando especifico
    Result := ""

   end

   //Result := Chr(27)

 elseif EcfMarca() == ecf_daruma

   Result := ""
   //Result := ''

 elseif EcfMarca() == ecf_sweda

   Result := Chr(10)

 elseif EcfMarca() == ecf_elgin

   Result := "\x1b!\x0\n"

 end

Return Result

/*------------------------------------------------------------------------*/

****************************************************************************
function EcfItalico(cText)
****************************************************************************
*
* Coloca a letra em itálico
* Parametros: cText
* Retorno: Character
*
* Autor: Vagner Miv
* 29/10/2009 - 16:02:10
*
****************************************************************************

local Result := ''

 //-- Coloca o texto italico -------------------------------------------//

 If EcfMarca() == ecf_sweda

   Result := Chr(16) + "I" + Chr(16) + "N"
 else

   Result := Chr(27) + Chr(52) + cText + Chr(27) + Chr(53)

 end

Return Result

/*------------------------------------------------------------------------*/
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7381
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Impresion rollo termico

Postby karinha » Fri Sep 30, 2016 1:29 pm

Code: Select all  Expand view

cPorta := PrnGetPort()

cPrinter := PrinterPortToName( cPorta )

if empty(cPrinter)

cPrinter := PrinterPortToName( "USB002" )

if empty(cPrinter)

cPrinter := PrinterPortToName( "USB001" )

endif

endif

oPrn := TDosPrn():New(cFile)

oPrn:StartPage()

nLinha:=1

For A=1 to len(aVetRecibo)

oPrn:Say(nlinha,1, aVetRecibo[a])

nLinha++

Next

oPrn:EndPage()

oPrn:Say(0,0, CHR(27)+'m' )

oPrn:End()

PrintFileRaw( cPrinter, TrueName(cFile), cTitulo)
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7381
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Impresion rollo termico

Postby karinha » Fri Sep 30, 2016 1:31 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7381
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Impresion rollo termico

Postby acuellar » Fri Sep 30, 2016 1:54 pm

Aquí un ejemplo

Code: Select all  Expand view

 cFilePRN:="C:\REPORTES\TICKET.PRN"
oPrn:=TDosPrn():New( cFilePRN )
     PrnSetSize(800,1400)
     oprn:command("27","64" )  //activa caracteres especiales
       
     oprn:Say(1,1,PADC(CHR(27)+"E1"+"Clave del WiFi"+CHR(27)+"E0",49) )
     oPrn:Say(2,12,"CLAVE:" )
     oPrn:Say(2,22,CHR(27)+"E1"+Alltrim(WIFIPWS)+ CHR(27)+"E0" )
     
     oPrn:Say(4,1,PADC("Cada Sábado la clave cambia",41) )
     
     oPrn:Say(5,0,CHR(27)+CHR(105) ) //Corta
     oPrn:End()
      PrintFileRaw( "\\PC\IMPRESORA", cFilePRN )
 
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1595
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: No registered users and 34 guests