Non riesco a capire cosa intendi, potresti fare un esempio di cose complesse?
PdfWriter opera con i punti cartesiani x e y, praticamente sei tu che disegni quello che vuoi e dove vuoi, potendo anche ritornare indietro, su un pdf che feci tempo addietro applicai un'ombra al testo, con una struttura if selezionavo le parole che dovevano avere un'ombra in qualsiasi posizione si trovavano.
ti faccio degli esempi:
facile: stampare un libro completo con testo e figure, un report tipo tabella, assegnare colori alternati alle righe, inserire immagini o altro in qualsiasi punto, assegnare a ogni parola un carattere random oppure un colore diverso
medio: In una pagina di testo, in base al testo che mi arriva decido di cerchiare tutti i nomi maschili con cerchi blu e quelli femminili con sopra nuvolette rosa, si può fare.
posso mettere trame di sottofondo, filigrane dove mi servono, disegnare dei cerchi di sottofondo con il testo ecc...
complesso: disegnare con il testo un'immagine stilizzata, tipo una testa d'aquila disegnata con del testo random oppure di un libro
tutto questo a monte non è statico, cioè con strutture if posso decidere io le forme o le dimensioni in base al tipo di dati che mi arriva o alla loro quantità, praticamente non c'è limite alla fantasia.
i dati possono arrivare da query o da variabili come pure direttamente dal contenuto dei form come label, textbox e griglie, o da calcoli interni alla classe.
Il report è una classe figlia di PdfWriter, e all'interno si può fare tutto quello che è permesso nelle classi, immagina che devo fare un report di dati matematici, in cui in base al risultato il font o la cella deve assumere colori diversi, tutto questo lo faccio all'interno della classe, sia il calcolo che l'assegnazione del colore al font o cella.
Nell'esempio che fece MD all'epoca si vedono molte cose che si possono fare, poi Golia fece una modifica a multicell che permetteva l'autodimensionamento delle celle in base alla quantità dei dati, ma essendo una classe in qualsiasi momento si possono fare modifiche o aggiornamenti.
Usa i componenti gb.pdf e gb.image
Ho solo dato un'occhiata a gb.report2 e sicuramente conoscendolo più a fondo anche li si potrà fare molto, ma sono 2 concetti diversi. Sarà perchè oramai PdfWriter per me non ha più segreti ma sono restio ad abbandonarlo.