Algun Ejemplo de la clase tpdf():new( "c:\prueba.pdf", ,

Algun Ejemplo de la clase tpdf():new( "c:\prueba.pdf", ,

Postby ruben Dario » Mon Sep 14, 2015 3:55 pm

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
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1066
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Algun Ejemplo de la clase tpdf():new( "c:\prueba.pdf", ,

Postby hmpaquito » Mon Sep 14, 2015 4:50 pm

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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm


Re: Algun Ejemplo de la clase tpdf():new( "c:\prueba.pdf", ,

Postby ruben Dario » Mon Sep 14, 2015 6:46 pm

Karihna, Gracias

Ya las habia visto, pero no hay un ejemplo con una base de datos.

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1066
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Algun Ejemplo de la clase tpdf():new( "c:\prueba.pdf", ,

Postby colthop » Tue Sep 15, 2015 6:16 am

Hola a todos:

Este es una de la impresiones que hago con la librería HARU:

Code: Select all  Expand view
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


Los "LocaText" son cadenas de texto se pueden sustituir por palabras entrecomilladas.

A l principio hay que poner:

#include "harupdf.CH"

Si quereis alguna explicación de alguna línea decirlo.

Espero que os sirva.

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 40 guests

cron