Newsgroup: it.comp.lang.vo-clipper
Titolo: xHarbour e PDF

Non c'e' qualche libreria o routine che mi permette di creare un file 
PDF con xHarbour. Nel newsgroup di xHarbour non ho trovato niente 
d'interessante.
Grazie: Max

 con xHarbour.
Sì, c'è la contrib pdflib ma non ti so dire altro perché non l'ho mai 
utilizzata né ho mai provato neanche a compilarla.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
 

 ha scritto nel messaggio 
news:eqc3fa$2ma9$1...@newsreader2.mclink.it...


 utilizzata né ho mai provato neanche a compilarla.
Peccato, mi sto scervellando a creare un esempio e speravo che tu ne 
avessi uno da darmi.
Torno al codice (sigh !).....
Grazie: Max

sebbene non ti sappia dire molto sulle varie funzioni, io ho fatto un test
e funziona. Se può esserti d'aiuto guarda il mio esempio:
Procedure AnteprimaPdf()
   Local Conta := 0
   Local nRec
   Local Tot
   Local c1,c2,c3,c4
   Local nRow
   Local x
   *
   if empty(dbfilter())
      Return
   Endif
   *
   Private xFilter
   *
   Select Storico
   c1 := Trim(Frase)
   c2 :=
'--------------------------------------------------------------------'
   c3 := '     Codice         Valore     Quantita  Rep    Data    Ora  
Record'
   c4 :=
'--------------------------------------------------------------------'
   *
   pdfOpen('Temp.pdf', 200, .t.)
   pdfNewPage( "LETTER", "P", 6 )
   pdfSetFont("Courier", 0, 12) // 0.04
   nRec := Recno()
   xFilter := dbfilter()
   Set Filter to
   dbskip()
   *
   nRow := 15
   pdfAtSay(c1,nRow, 15, 'M', .F. ); nRow += 4
   pdfAtSay(c2,nRow, 15, 'M', .F. ); nRow += 4
   pdfAtSay(c3,nRow, 15, 'M', .F. ); nRow += 4
   pdfAtSay(c4,nRow, 15, 'M', .F. ); nRow += 4
   x := 4
   *
   Tot := 0
   Do while !Eof()
      pdfAtSay(;
      substr(Frase,2,13)+' | '+;
      Transform(val(substr(Frase,18,9)),'9999999,99')+' | '+;
      Transform(val(substr(Frase,29,8)),'999999,999')+' | '+;
      substr(Frase,37,2)+' | '+;
      substr(Frase,40,6)+' | '+;
      substr(Frase,47,4)+' | '+;
      str(++Conta,4)+'|',nRow, 15, 'M', .F. )
      nRow += 4
      *
      Tot += val(substr(Frase,18,9))
      x++
      dbskip()
      if x == 62 .and. !Eof()
 
pdfAtSay('--------------------------------------------------------------------',nRow,
15, 'M', .F. )
         nRow += 4
         pdfAtSay('segue....',nRow, 15, 'M', .F. )
         nRow += 4
         pdfNewPage( "LETTER", "P", 6 )
         nRow := 15
         pdfAtSay(c1,nRow, 15, 'M', .F. ); nRow += 4
         pdfAtSay(c2,nRow, 15, 'M', .F. ); nRow += 4
         pdfAtSay(c3,nRow, 15, 'M', .F. ); nRow += 4
         pdfAtSay(c4,nRow, 15, 'M', .F. ); nRow += 4
         x := 4
      Endif
   Enddo
 
pdfAtSay('--------------------------------------------------------------------',nRow++,
15, 'M', .F. )
   nRow += 4
   pdfAtSay(Padr('Totale Valore',16)+Transform(Tot,'9999999,99'),nRow++,
15, 'M', .F. )
   pdfClose()
   Select Storico
   Set Filter to &xFilter
   dbgotop()
   dbgoto(nRec)
   *
   RUN start TEMP.PDF
   *
Return
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Grazie per il codice: ho capito diverse cose. L'unico problema, avendo 
in seguito scritto una mia funzione che crea un file Pdf da un file di 
testo, e' che i fonts utilizzati sono solo 3 (Times, Helvetica e 
Courier) di cui uno solo e' a spaziatura fissa (Courier) ma troppo 
piccolo. Devo lavorarci ancora un po'.....
Ciao: Max