Hola foro:
He probado PageScript 32 en un programa que tengo en Xharbour puro y est谩 magn铆fico.
Genera la impresi贸n a cualquier impresora que este instalada en el PC, Previsualiza y genera archivo en PDF.
http://www.hymplus.com/imagenes/foro/Image1.jpg
http://www.hymplus.com/imagenes/foro/Image2.jpg
http://www.hymplus.com/imagenes/foro/Image3.jpg
http://www.hymplus.com/imagenes/foro/Image4.jpg
El c贸digo es sencillo y f谩cil de implementar para un novato como yo.
La cabecera del listado:
Cabezara del Reporte
------------------------------------------------------------*/
FUNC HEADERC(nPage)
PSSetFont(APS_SYSTEM, APS_BOLD, 12, APS_BLACK, APS_NONE)
PSTextOut(1 , 2, FECHA)
PSTextOut(1 ,71, "P谩g: " + Str(nPage, 3, 0))
PSTextOut(1 ,39, NOMEMP,, APS_CENTER)
PSTextOut(2 ,39, "NIT "+NITC,, APS_CENTER)
PSTextOut(3 ,39, DETA,, APS_CENTER)
PSSetFont(APS_SYSTEM, APS_PLAIN, 8, APS_BLACK, APS_NONE)
PSLine(4.25, 1, 4.25, 81, .5, APS_BLACK)
PSSetFont(APS_SYSTEM, APS_BOLD, 8, APS_BLACK, APS_NONE)
PSTextOut(5 , 2, "CODIGO")
PSTextOut(5 , 10, "N O M B R E 聽D E 聽L A 聽C U E N T A")
PSTextOut(5 , 47, "P A R C I A L E S")
PSTextOut(5 , 70, "S A L D O S")
PSSetFont(APS_SYSTEM, APS_PLAIN, 8, APS_BLACK, APS_NONE)
PSLine(6.50, 1, 6.50, 81, 聽1, APS_BLACK)
RETURN 7
El listado del Balance:
FUNC REPBALC
Local nRow 聽 聽 := 6
Local nPage 聽 聽:= 1
PSSetPageSize(DMPAPER_LETTER)
PSBeginDoc(, "Balance General", APS_PORTRAIT)
PSSetUnit(APS_TEXT)
nRow := HeaderC(nPage)
DO WHILE .NOT. EOF()
聽PSSetFont(APS_SYSTEM, APS_BOLD, 8, APS_BLACK, APS_NONE)
聽IF HYMTIT=1
聽 聽PSTextOut(nRow 聽, 1, (SUBS(HMCODIGO,1,1)),, APS_LEFT)
聽 聽PSTextOut(nRow 聽, 7, HMCUENTA,, APS_LEFT)
聽 聽PSTextOut(nRow 聽,78, HMSALDOS, &DIGS, APS_DECIMAL)
聽 聽HYMTIT=0
聽ENDIF
聽IF CLA#SUBS(HMCODIGO,1,1)
聽 聽PSTextOut(nRow 聽, 1, (SUBS(HMCODIGO,1,1)),, APS_LEFT)
聽 聽PSTextOut(nRow 聽, 7, HMCUENTA,, APS_LEFT)
聽 聽PSTextOut(nRow 聽,78, HMSALDOS, &DIGS, APS_DECIMAL)
聽 聽CLA:=SUBS(HMCODIGO,1,1)
聽 ELSEIF GRU#SUBS(HMCODIGO,1,2)
聽 聽PSTextOut(nRow 聽, 1, (SUBS(HMCODIGO,1,2)),, APS_LEFT)
聽 聽PSTextOut(nRow 聽, 7, HMCUENTA,, APS_LEFT)
聽 聽PSTextOut(nRow 聽,65, HMSALDOS, &DIGS, APS_DECIMAL)
聽 聽GRU:=SUBS(HMCODIGO,1,2)
聽 ELSEIF CTA#SUBS(HMCODIGO,1,4)
聽 聽PSSetFont(APS_SYSTEM, APS_PLAIN, 8, APS_BLACK, APS_NONE)
聽聽 聽 PSTextOut(nRow 聽, 1, (SUBS(HMCODIGO,1,4)),, APS_LEFT)
聽 聽PSTextOut(nRow 聽, 7, HMCUENTA,, APS_LEFT)
聽 聽PSTextOut(nRow 聽,52, HMSALDOS, &DIGS, APS_DECIMAL)
聽 聽PSSetFont(APS_SYSTEM, APS_BOLD, 8, APS_BLACK, APS_NONE)
聽 聽CTA:=SUBS(HMCODIGO,1,4)
聽 聽IF SUBS(HMCODIGO,1,1)="1"
聽 聽 聽ACTIVO:=ACTIVO+HMSALDOS
聽 聽ENDIF
聽 聽IF SUBS(HMCODIGO,1,1)="2"
聽 聽 聽PASIVO:=PASIVO+HMSALDOS
聽 聽ENDIF
聽 聽IF SUBS(HMCODIGO,1,1)="3"
聽 聽 聽PATRIMO:=PATRIMO+HMSALDOS
聽 聽ENDIF
聽ENDIF
聽nRow += 1
聽IF nRow > 58
聽 聽PSNewPage()
聽 聽nPage++
聽 聽nRow := HeaderC(nPage,NOMEMP)
聽 ENDIF
聽 DBSKIP()
ENDDO
Gracias al amigo de la India que comparti贸 la informaci贸n.