//impressao comprimida: { 3, -50 } ‚ igual 50/3, ou seja 16.6 cpp
oPrinter:SetFont( "Lucida Console", 10, { 3, -50 } )
xHarbour
Código: Selecionar todos
PROCEDURE W32PRN(arqtxt,nomeimpressora)
#include "WinGdi.ch"
Local cPrinter
Local contl := 1
cFileName := "C:\JATO\" + arqtxt
SET PRINTER TO
SET DEVICE TO SCREEN
If !File("&cFileName")
Return Nil
Else // Vamos colocar seu arquivo num Array
cLinha := Nil
aLinesPrint := {}
cBuffer := FOpen( cFileName, 2 )
Do While Hb_FReadLine( cBuffer, @cLinha, Nil, 255 ) = 0
AaDd( aLinesPrint, cLinha )
EndDo
FClose( cBuffer )
EndIf
* cPrinter := PegaPrinter() // escolhe a impressora (cPrinter retorna o nome da impressora)
cPrinter := ALLTRIM(nomeimpressora)
If !Empty( cPrinter )
nCopias := 1 // numero de c¢pias
oPrinter := Win32Prn():new( cPrinter )
oPrinter:landscape := .F.
oPrinter:formType := DMPAPER_A4 // folha A4
oPrinter:copies := nCopias
IF .NOT. oPrinter:create()
Alert("Erro Tentando Acessar a Impressora ; " + alltrim(nomeimpressora) )
Return Nil
ENDIF
IF .NOT. oPrinter:startDoc( "Impressao Teste" )
Alert("Erro Tentando Enviar os Dados de Impressao")
Return Nil
ENDIF
*****************************************************************
[b]//impressao comprimida: { 3, -50 } ‚ igual 50/3, ou seja 16.6 cpp
oPrinter:SetFont( "Lucida Console", 10, { 3, -50 } )[/b]
*****************************************************************
// impressao normal
*****************************************************************
* oPrinter:SetFont( "Lucida Console", 10 )
*****************************************************************
* oPrinter:CharSet( 0 )
* oPrinter:bold( FW_NORMAL ) // nao negrito, nao italico, etc...
*****************************************************************
* PrintBitMap(oPrinter, "C:\SYS222\Cowboy.bmp")
*****************************************************************
For i = 1 To Len ( aLinesPrint )
oPrinter:textOut( aLinesPrint[ i ] ) // imprime a linha
oPrinter:newLine() // passa para proxima linha
Next
oPrinter:endDoc() // envia a impressora
oPrinter:destroy() // fecha documento de impressao
EndIf
Return Nil
