Ciao,
anche io ho usato itextsharp in diversi progetti.
La libreria ha una serie di oggetti molto simili a quelli delle pagine html, che ti permettono di costruire il documento con parti fisse e parti variabili, esattamente come costruiresti una pagina html usando esclusivamente oggetti creati a runtime.

Noi ci troviamo molto bene con questa soluzione, perchè è affidabile e veloce, e produce dei documenti professionali con poco impegno di tempo (con un esempio preso online che ti fa da giuda, nel peggiore dei casi, produci 1 report/giorno)

E' comoda, veloce, ma non fa miracoli
Non fa quello che chiedi. Dubito che si possa fare per l'intera pagina: è il client che fa il rendering dell'impaginazione, stili e immagini. Il server crea solo il markup.

Dovresti caricare la pagina sul client, farne una screen e caricarla con un fileupload.
Improponibile...

Per fare quello che dici tu potresti utilizzare dei componenti aggiuntivi a pagamento. Le gridview di ComponentOne hanno la funzione stampa che fa quello che chiedi, ma ha un costo non indifferente (siamo nell'ordine dei 300$ a licenza - per sviluppatore).

Ciao,
b.