Per ogni tipo di stampa devi creare una "sottoclasse" tipo come nell'esempio fatto da md "PdfTest.class"
mettiamo che vuoi fare una stampa di una lista di clienti, per velocizzare ti incollo la mia classe "clientipdf.class"
' Gambas class file
Inherits PdfWriter
Public MyRS As Result
Public Sub Header()
Me.SetFont("Arial", "BI", 20)
Me.Cell(160, 6, "Rubrica Clienti", False, 0, "L", False)
End
Public Function Footer()
Me.SetY(-15)
Me.SetFont("Arial", "I", 8)
Me.Cell(190, 6, "Pag. " & Me.PageNo() & " di {nb}", False, 0, "C", False)
End
Public Function Data()
Dim sql As String
Me.AddPage()
Me.SetFillColor(192, 192, 192)
Me.SetLineWidth(0.2)
Me.Line(10, 17, 200, 17)
Me.SetLineWidth(0.1)
Me.SetX(0)
Me.SetY(20)
Me.Ln()
sql = "select * from clienti"
MyRS = avvio.$myconn.Exec(sql)
Me.SetFont("Arial", "", 8)
Me.Cell(45, 5, "Cliente", True, 0, "C", False)
Me.Cell(85, 5, "Indirizzo", True, 0, "C", False)
Me.Cell(30, 5, "Telefono", True, 0, "C", False)
Me.Cell(30, 5, "Telefono 2", True, 0, "C", False)
Me.Ln()
Me.SetFont("Arial", "", 12)
If MyRS.Available = True Then
For Each MyRS
Me.Cell(45, 6, MyRS!cognome & " " & MyRS!nome, True, 0, "L", False)
Me.Cell(85, 6, MyRS!indirizzo & " " & MyRS!citta & " (" & MyRS!provincia & ")", True, 0, "L", False)
Me.Cell(30, 6, MyRS!telefono, True, 0, "L", False)
Me.Cell(30, 6, MyRS!telefono2, True, 0, "L", False)
Me.Ln()
Next
Endif
End
Per l'invio alla stampante o anteprima etcc. non hai che da chiedere, oppure guardati gli esempi che avevamo fatto