Página 1 de 1

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 03 Out 2012 13:41
por rbonotto
Olas,

Estou precisando diminuir o tamanho da letra para impressão em bobina, estou usando um arquivo de texto que
depois é impresso através do Win_PrintFileRaw()

Tem como eu diminuir o tamanho da fonte ?

abs

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 03 Out 2012 16:02
por Imatech
Olá rbonotto !
.
.
.
Usando win_PrintFileRaw(), o arquivo Texto devera conter os comandos de configuração da impressora ( ex: Epson Esc/P2 )
.
ou
.
Alternativamente possa resolver o tamanho da fonte usanto a lib: win_Prn ( em substituição a PrintFileRaw)
..\contrib\hbwin\tests\testprn.prg

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 03 Out 2012 16:35
por rbonotto
ola Imatech,

não entendi o caminho:

..\contrib\hbwin\tests\testprn.prg

Esta aqui no forum ?

Abraços,

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 03 Out 2012 16:47
por Imatech
Olá rbonotto !
.
.
.
Pasta do Harbour:
.
\hb30\contrib\hbwin\tests\testprn.prg
\hb32\contrib\hbwin\tests\testprn.prg
\Harbour\contrib\hbwin\tests\testprn.prg

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 03 Out 2012 20:41
por Jairo Maia
Olá rbonotto,

Em seu arquivo de impressão, você coloca os comandos que deseja. Veja um exemplo:

Código: Selecionar todos

Function Main()
 Local cTxtPrint

 cTxtPrint := CHR(15)   // ativa comprimido (17,5 cpp - Caractere Por Polegada)
 cTxtPrint += "Fonte comprimida em 17.5 cpp" + Hb_Eol()
 cTxtPrint += CHR(18)   // desativa comprimido (17,5 cpp)

 cTxtPrint += CHR(27)+'M'+CHR(15)  // ativa comprimido (20 cpp)
 cTxtPrint += "Fonte comprimida em 20 cpp" + Hb_Eol()
 cTxtPrint += CHR(27)+'P'                 // desativa comprimido (20 cpp)

 cTxtPrint += CHR(27)+'M'                // ativa elite
 cTxtPrint += "Fonte Elite" + Hb_Eol()
 cTxtPrint += CHR(27)+'P'                 // desativa elite

 cTxtPrint += CHR(27)+'E'                 // ativa enfatizado
 cTxtPrint += "Fonte Enfatizada" + Hb_Eol()
 cTxtPrint += CHR(27)+'F'                 // desativa enfatizado

 cTxtPrint += CHR(27)+'W'+CHR(1)   // ativa expansao
 cTxtPrint += "Fonte Expandida" + Hb_Eol()
 cTxtPrint += CHR(27)+'W'+CHR(0)   // desativa expansao

 cTxtPrint += CHR(27)+'0'                 // ativa 8 lpp ( o padrão são 6)
 cTxtPrint += "Fonte comprimida 8 linhas por polegada" + Hb_Eol()
 cTxtPrint += "Fonte comprimida 8 linhas por polegada" + Hb_Eol()
 cTxtPrint += "Fonte comprimida 8 linhas por polegada" + Hb_Eol()
 cTxtPrint += "Fonte comprimida 8 linhas por polegada" + Hb_Eol()
 cTxtPrint += CHR(27)+'2'                 // desativa 8 lpp

 MemoWrit( "TESTE.TXT", cTxtPrint )

 // PrintFileRaw( cImpressora, cArquivo, cTítulo )

  PrintFileRaw( Win_PrinterGetDefault(), "TESTE.TXT", "Teste de Impressão" )

Return Nil
Para definir o tamanho da página, use: CHR(27)+'C'+CHR( nTamnho_Em_Linhas )

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 04 Out 2012 12:00
por rbonotto
O que tem de errado com este código ?

Código: Selecionar todos

#include 'inkey.ch'
#include "set.ch"

******************************************
FUNCTION MAIN()
******************************************
LOCAL GETLIST := {}

set printer to "teste.txt"
set device to print
@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"

cPrinter := GetDefaultPrinter()
Win_PrintFileRaw( "default","teste.txt")
set device to screen
set printer off

ferase("teste.txt")
quit
A impressora esta na LPT1 e tem suporte RAW

Imagem

Não da erro, mas não imprime nada !!

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 04 Out 2012 12:12
por Jairo Maia
Olá rbonotto,

Troque alinha 17 que está assim:

Código: Selecionar todos

Win_PrintFileRaw( "default","teste.txt")
Por esta:

Código: Selecionar todos

Win_PrintFileRaw( cPrinter,"teste.txt")
Também precisa colocar abaixo de Set Printer Off, um Set Printer To

Selecionar tamanho de fonte com Win_PrintFileRaw()

Enviado: 04 Out 2012 12:14
por Imatech

Código: Selecionar todos


#include 'inkey.ch'
#include "set.ch"

******************************************
FUNCTION MAIN()
******************************************
LOCAL GETLIST := {}

set device to printer
set printer to "teste.txt"

@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"
@ prow()+1 , 01 say "teste"

set printer to
set device to screen

cPrinter := GetDefaultPrinter()
Win_PrintFileRaw( cPrinter, "teste.txt")

ferase("teste.txt")
quit