ciao mirkco
non spaventarti per la complessità del codice, in realtà è molto semplice e facile.
pdfwriter compone le stampe con i valori x e y, in pratica sei tu a dirgli il punto esatto dove stampare.
è composto da tre settori
1) Header (che sarebbe l'intestazione della stampa e si ripete su tutte le pagine)
2) Data ( il corpo della pagina e nel caso che il testo superi tutto lo spazio aggiunge una pagina successiva)
3) Footer(la fine della pagina o piè di pagina e si ripete su tutte le pagine)
per stampare cn pdfwriter ti basta creare una classe (es. MiaStampa ) e richiamarla fal form con del codice tipo:
DIM hStampa AS Process
DIM MyReport AS String
DIM pdf AS MiaStampa
RANDOMIZE
MyReport = "/tmp/MiaStampa.pdf"
pdf = NEW MiaStampa("Portrait", "mm", "A4")
pdf.Open()
pdf.AliasNbPages()
'pdf.Data
pdf.Output(MyReport, FALSE)
hStampa = SHELL ("evince" & " " & MyReport)
in allegato ti inserisco un piccolo esempio che genera un pdf con un codice a barre
cmq dai un'occhiata al progetto di golia dove fà un largo uso di stampe con pdfwriter