Saludso al Forum
Algun usuario que usa la clase , me podrian facilitar un ejemplo , de como genera un reporte leyendo una base de datos.
Ya que los ejemplos anexos a la clase , solamente hay uno , pero no muestra el uso de la clase.
Gracias
Saludso al Forum
Algun usuario que usa la clase , me podrian facilitar un ejemplo , de como genera un reporte leyendo una base de datos.
Ya que los ejemplos anexos a la clase , solamente hay uno , pero no muestra el uso de la clase.
Gracias
Hola,
Que yo sepa lo más avanzado que tiene Harbour en el uso (y disfrute) de Pdf es una interfaz con la libreria HaruPdf. Yo no lo he usado, así que tampoco sé si lo que digo es muy correcto.
En todo caso, sirva este párrafo de advertencia, para que si quiere empezar a ver la generación de Pdf, quizá le interese utilizar lo más avanzado.
Saludos
Karihna, Gracias
Ya las habia visto, pero no hay un ejemplo con una base de datos.
Gracias
va001 = "00001"
va002 = "99999"
va003 = " "
va004 = "ZZZZZ"
SELECT 1
use EMPRESA
OrdSetfocus("empre01")
set filter to numero >= va001 .AND. numero <= va002 .AND. apellidos >= va003 .AND. apellidos <= va004
go top
store hb_CurDrive() to xdri
store GetCurdir() to xdir
store xdri + " :\" + xdir + "\emp" + yempr + "\" to direinic
fichsali:=cGetFile("*.pdf",LocaText( 1, 2, 76),,direinic,.F.,.T.)
if ! empty(fichsali)
if substr(fichsali,len(trim(fichsali))-3,4) <> ".pdf"
fichsali = trim(fichsali) + ".pdf"
endif
if file ( fichsali )
ferase( fichsali )
endif
pdf := HPDF_New()
cpos :={}
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
yFont1 = HPDF_GetFont( pdf, "Courier", "WinAnsiEncoding" )
yFont2 = HPDF_GetFont( pdf, "Courier-Bold", "WinAnsiEncoding" )
store 1 to numpag
store LocaText( 1, 1,534) + " : " + dtoc( ydatita ) to dati
do while .T.
page := HPDF_AddPage(pdf)
aadd(cpos ,page)
HPDF_Page_SetSize(HPDF_PAGE_SIZE_A4, HPDF_PAGE_PORTRAIT )
height := HPDF_Page_GetHeight(page)
width := HPDF_Page_GetWidth(page)
fil = width/124
col = height/72
HPDF_Page_SetRGBFill(page, 0.80, 0.80, 0.80)
a = 8
do while .T.
if opci20 = .F. .OR. a > 67
exit
endif
HPDF_Page_Rectangle(page, 0, 827 -(a*col), width, 11)
HPDF_Page_Fill(page)
a = a + 2
enddo
HPDF_Page_SetRGBFill(page, 0, 0, 0)
HPDF_Page_BeginText( page )
HPDF_Page_SetFontAndSize( page, yFont2, 14 )
HPDF_Page_TextOut( page, 2*fil,842-(col*1.5),LocaText( 1, 1,732))
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page, 2*fil,842-(col* 3),LocaText( 1, 1,553) + " " + trim(va003) + " " + LocaText( 1, 2,215) + " " + trim(va004))
HPDF_Page_TextOut( page, 2*fil,842-(col* 4),LocaText( 1, 1,566) + " " + va001 + " " + LocaText( 1, 2,215) + " " + va002)
HPDF_Page_SetFontAndSize( page, yFont2, 8 )
HPDF_Page_TextOut( page, 1*fil,842-(col* 6),LocaText( 1, 1,877))
HPDF_Page_TextOut( page, 8*fil,842-(col* 6),LocaText( 1, 1,115))
HPDF_Page_TextOut( page, 49*fil,842-(col* 6),LocaText( 1, 1,817))
HPDF_Page_TextOut( page, 59*fil,842-(col* 6),LocaText( 1, 1,471))
HPDF_Page_TextOut( page, 94*fil,842-(col* 6),LocaText( 1, 2,128))
HPDF_Page_TextOut( page,104*fil,842-(col* 6),LocaText( 1, 2,128))
HPDF_Page_TextOut( page,114*fil,842-(col* 6),LocaText( 1, 1,533))
HPDF_Page_TextOut( page, 1*fil,842-(col* 7),"------")
HPDF_Page_TextOut( page, 8*fil,842-(col* 7),"----------------------------------------")
HPDF_Page_TextOut( page, 49*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page, 59*fil,842-(col* 7),"----------------------------------")
HPDF_Page_TextOut( page, 94*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page,104*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page,114*fil,842-(col* 7),"---------")
oCol = 8
do while .T.
if eof()
exit
endif
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page, 1*fil,842-(col*oCol),numero)
HPDF_Page_TextOut( page, 8*fil,842-(col*oCol),substr(trim(apellidos)+ ", "+ nombre+ space(40),1,40))
HPDF_Page_TextOut( page, 49*fil,842-(col*oCol),cif)
HPDF_Page_TextOut( page, 59*fil,842-(col*oCol),email)
HPDF_Page_TextOut( page, 94*fil,842-(col*oCol),Telefono)
HPDF_Page_TextOut( page,104*fil,842-(col*oCol),Telefono2)
HPDF_Page_TextOut( page,114*fil,842-(col*oCol),fax)
skip + 1
oCol = oCol + 1
if oCol > 65
exit
endif
enddo
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page,460, 30,dati)
HPDF_Page_TextOut( page,460, 20,locatext( 1, 1,947) + " : " + str(numpag,10,0))
HPDF_Page_EndText( page )
numpag = numpag + 1
if eof()
exit
endif
enddo
HPDF_SaveToFile( pdf, fichsali )
HPDF_Free( pdf )
ShellExecute(0,"Open",fichsali,NIL,NIL,1)
endif