Carlos es muy facil.
dejO aqui un ejemplo mas completito migrado de fox pro
a fw.
Para esto necesitas la class TDOSPRN
define INICIAPRN '27,64'
define SELECTDRAF '27,120,48'
define SELECTLQ '27,120,49'
define SELECTROMA '27,107,48'
define SELECTSSER '27,107,49'
define ONENFATIZADO '27,69'
define OFFENFATIZADO '27,70'
define ONDOBLEANCHO '27,87,1'
define OFFDOBLEANCHO '27,87,0'
define ONDOBLEALTO '27,119,1'
define OFFDOBLEALTO '27,119,0'
define ONDOBLEPASADA '27,71'
define OFFDOBLEPASADA '27,72'
define ONSUPERSCRIPT '27,83,0'
define ONSUBSCRIPT '27,83,1'
define OFFSUPERSUB '27,84'
define ONITALICA '27,4'
define OFFITALICA '27,5'
function testPrn()
oPrn := TDosPrn():New( "LPT1" ) &&iniciamos el objeto tdosprn.
oPrn:command( INICIAPRN ) && iniciamos la impresora
oPrn:command( "27","67", "18" ) && el salto es a los 18 renglonres
&& 1 pulgada "" equivale a 6 reng.
oPrn:command( SELECTROMA ) && me gusta la letra roman
dbselectArea( 'clientes' )
dbgotop()
nRow := 1
do while !eof()
oPrn:say(nRow. 1, field->codigo )
oPrn:say(nRow, 10, field->nombre)
nRow++
if nRow >= 15 && brincamos a una nueva pagina.
nRow := 1
endif
sysrefresh()
dbskip()
enddo
oPrn:end() && terminamos el objeto tDosPrn.
return .t.
Saludos Cordiales ...