Página 1 de 1

duvida com rotina de impressao em jato de tinta

Enviado: 22 Jan 2016 18:24
por porter
ola pessoal, essa rotina, achei aqui no forum, estou compilando com xHarbour, executa tudo corretamente fiz passo a passo pelo debugador e ate entra na fila de impressao, mas nao imprime nada, fiz o teste com a impressora imprimindo outras coisas e esta tudo certo, alguem usou essa rotina o que há de errado nela ? Estou tentando imprimir em uma Hp DeskJet 3510 Series

Código: Selecionar todos

* TITULO     : EXTRATO DO S@T FISCAL    *
* DATA       : 08/09/2015               *
* PROGRAMA   : DEMO.PRG                 *
* COMENTARIO : IMPRESSAO DO EXTRATO     *
* COMENTARIO : PARA IMPRESSORA EPSON    *
* COMENTARIO : TM-T20                   *
* COMENTARIO : AGRADECIMENTOS AO SR.    *
* COMENTARIO : FLAVIO SILVA             *
* COMENTARIO : FlavioSilva@epson.com.br *
* DIREITOS   : INFO2000 SISTEMAS        *
* CLIENTE -->: ###     TODOS      ###   *
* COMPILAR COM HARBOUR OU (X)HARBOUR    *
* OU AINDA CLIPPER                      *
*****************************************

FUNCTION MAIN() && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINHA

	LOCAL I := 0

	*SET PRINT TO "LPT1" && PARA COMPILAR COM CLIPPER DESCOMENTE ESSA LINHA
	SET PRINT TO ( GetDefaultPrinter() ) && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINHA	
	SET CONSOLE OFF
	SET PRINT ON
	SET DEVICE TO PRINT
	SET MARGIN TO 0
	SETPRC( 0, 0 )
*
	IMP_Cabecalho()
**
	@ PROW()+1,0 SAY "#|COD|DESC|QTD|UN|VL UN R$|(VLTR R$)*|VL ITEM R$" 
	@ PROW()+1,0 SAY REPLI( "-", 48 )
	I++
	@ PROW()+1,0 SAY STRZERO( I, 3, 0 )
	@ PROW(),4 SAY "123456"
	@ PROW(),18 SAY "TESTE DE PRODUTO"
	@ PROW()+1,05 SAY "1,000"
	@ PROW(),15 SAY "X" 
	@ PROW(),20 SAY TRANSF( 10, "@E 999,999.99" ) 
	@ PROW(),30 SAY TRANSF( 10, "@E 999,999,999.99" )
	*
	IMP_TOTAIS()
	**
	SETPRC(0,0)
	SET PRINT OFF
	SET CONSOLE ON
	SET PRINTER TO

RETURN NIL

/*
 IMPRIME O CABELHO DO EXTRATO
*/

STATIC FUNCTION IMP_CABECALHO()
*
	@ PROW(),0 SAY PADC( "NOME FANTASIA", 48 )
	@ PROW()+1,0 SAY PADC( "RAZAO SOCIAL", 48 ) 
	@ PROW()+1,0 SAY PADC( "RUA UM NRO. 2", 48 )
	@ PROW()+1,0 SAY PADC(  "SAO PAULO - SP", 48 ) 
	@ PROW()+1,0 SAY PADC( "CNPJ: 11111111111 IE: 22222222", 48 ) 
	@ PROW()+1,0 SAY REPLI( "-", 48 )
*
	@ PROW()+1,0 SAY PADC( "Extrato No: 123456" , 48 )
	@ PROW()+1,0 SAY PADC( "CUPOM FISCAL ELETRONICO - SAT", 48 )
*
	@ PROW()+1,0 SAY REPLI( "-", 48 )
	@ PROW()+1,0 SAY "CPF/CNPJ do Consumidor: "
	@ PROW()+1,0 SAY REPLI( "-", 48 )

RETURN NIL

/*
 IMPRIME OS TOTAIS DO EXTRATO
*/

STATIC FUNCTION IMP_TOTAIS()
	@ PROW()+1,0 SAY "TOTAL R$ " + TRANSF( 10, "@E 9,999,999.99" )

	@ PROW()+1,0 SAY "Dinheiro"
	@ PROW(),26 SAY TRANSF( 10, "@E 999,999,999.99" ) 

	@ PROW()+1,0 SAY REPLI( "-", 48 )

	@ PROW()+1,0 SAY PADC( "SAT No. 987654321", 48 )

	@ PROW()+1,0 SAY PADC( DTOC( DATE() ) +" - "+ TIME(), 48 )

	@ PROW(),0 SAY CHR(10) + CHR(27) + CHR(97) + CHR(49)									&& Centraliza a Impressão	
	@ PROW(),0 SAY CHR(27) + CHR(33) + CHR(1) 												&& Muda para a FontB para que o Texto seja impresso em 1 linha
	@ PROW(),0 SAY PADC( "3514 1146 3772 2200 3730 5990 0000 4630 0011 5817 9941", 56 )
	@ PROW(),0 SAY CHR(27) + CHR(33) + CHR(0) 												&& Volta para a FontA
**
	QRCODE8()
**
	@ PROW(),0 SAY CHR(27) + "a" + CHR(0) 													&& Volta a justificar à esquerda
	
	@ PROW()+1,0 SAY PADC( "OBRIGADO PELA PREFERENCIA", 48 )
	@ PROW()+1,0 SAY REPLICATE( "-", 48 )
	@ PROW()+1,0 SAY PADC( "www.info2000sistemas.com.br", 48 )
	@ PROW()+8,0 SAY ""
	
	@ PROW(),0 SAY CHR(29) + CHR(86) + CHR(0) && Aciona Guilhotina
	
RETURN NIL

**
*  FUNCAO PARA IMPRIMIR O QRCode 8cm
**

STATIC FUNCTION QRCODE8( QUAL, cXML )

**
* STRING com a linha de dados do QRCode - juntando as variáveis acima separadas pelo pipe.
* Exemplo: "35141146377222003730599000004630001158179941|20141105134922|10.00|61694805808|m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="
**
	LOCAL x_TmStp := "20141105134922"
	LOCAL x_Chave := "35141146377222003730599000004630001158179941"
	LOCAL x_Valor := "10.00"
	LOCAL x_CNPJ  := ""
	LOCAL x_Ass   := "m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="

	LOCAL x_URL_QrCode, iTamanho, iLow, iHigh, iCount, ComandoQR

	x_URL_QrCode = x_Chave+"|"+x_TmStp+"|"+x_Valor+"|"+x_CNPJ+"|"+x_Ass
**

/*
  BYTES PARA COMPOR O QRCODE
*/
	iTamanho := Len( x_URL_QrCode ) + 3
	iLow     := MOD( iTamanho, 256 )
	iHigh    := iTamanho / 256
	
        @ PROW(),0 SAY CHR(29) + "h" + CHR(60) && Altura do código de barras
        @ PROW(),0 SAY CHR(29) + "w" + CHR(2)  && Largura das barras
        @ PROW(),0 SAY CHR(29) + "H0"          && Apresentação numérica do código DE BARRAS / H0 = INIBE, H2 = MOSTRA
      
        * Imprime o Code128C com 44 algarismos
	ComandoQR := CHR(29) + CHR(107) + CHR(73) + CHR(24) + "{C"
        For iCount = 0 To 22
                ComandoQR += CHR( VAL( SUBSTR( x_Chave, (iCount * 2) + 1, 2 ) ) )
	Next
	@ PROW()+2,0 SAY ComandoQR
        * Fim da impressão do Code128C

        * Impressão do QRCode
	@ PROW()+1,0 SAY CHR(29) + "(k" + CHR(iLow) + CHR(iHigh)+CHR(49)+CHR(80)+CHR(48)+ x_URL_QrCode && QRCode PROPRIAMENTE DITO

	@ PROW()+1,0 SAY CHR(29) + "(k"+ CHR(3)+CHR(0)+CHR(49)+CHR(81)+CHR(48)
Return Nil

**
* FINAL DO PROGRAMA DEMO.PRG
** 

duvida com rotina de impressao em jato de tinta

Enviado: 11 Fev 2016 16:24
por HASA
:?
Poter, veja nos comentários que fiz é para EPSON-TM-T20 ou seja impressora térmica ok.

Na jato de tinta estou procurando uma dica também.

HASA