Eccomi con gli esempi promessi:
Un pulsantino apre un pdf di due pagine con dentro un po' di tutto quello che può servire.
Chiaramente è tutto facilmente associabile ad una base dati per rendere dinamico il contenuto.
Chiaramente 2 il tutto non ha nessun motivo estetico se non quello di mostrare come risolvere le problematiche che mi sono state richieste.
Richiamo all'interno un'immagine di una faccina del forum, se provate il codice disconnessi da internet, commentate la sezione.
Io uso l'ultima versione della libreria, la pagina sotto è stata provata con quella.

Legnetto

Test_pdf.aspx
codice:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test_pdf.aspx.vb" Inherits="Test_pdf" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="crea" Text="Crea il pdf" runat="server" />
    </div>
    </form>
</body>
</html>
Test_pdf.aspx.vb
codice:
Imports iTextSharp.text
Imports iTextSharp.text.pdf

Partial Class Test_pdf
    Inherits System.Web.UI.Page

    Protected Sub crea_Command(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs) Handles crea.Command
        Dim nomefile As String = "html_it.pdf"
        Response.Clear()
        Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", nomefile))
        Response.ContentType = "application/pdf"


        'creo il documento itextsharp
        Dim myDoc As Document = New Document(PageSize.A4, 25, 25, 25, 25)

        '@Pietro--- per il documento in orizzontale diventerebbe così
        'Dim myDoc As Document = New Document(PageSize.A4.Rotate, 25, 25, 25, 25)

        Try

            'creo il writer
            Dim pwr As PdfWriter = PdfWriter.GetInstance(myDoc, HttpContext.Current.Response.OutputStream)

            ' Prima di aprire il documento imposto il footer della pagina
            Set_footer(myDoc, pwr)

            '...imposto l'header
            Dim header As HeaderFooter = New HeaderFooter(New Phrase("Intestazione documento ripetuta in tutte le pagine"), False)
            header.Alignment = Element.ALIGN_CENTER
            myDoc.Header = header

            myDoc.Open()

            'esempi vari di inserimento testo nel documento
            myDoc.Add(New Paragraph("Testo libero"))

            myDoc.Add(New Paragraph(vbCrLf & vbCrLf & vbCrLf))
            myDoc.Add(New Chunk("Spazio vuoto creato con i ritorni a capo", FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.BOLD, Color.WHITE)))
            myDoc.Add(New Paragraph(vbCrLf & vbCrLf & vbCrLf))

            Dim columnsPercentageWidth() As Single = New Single() {15, 50, 15, 20}
            'la tabella vera e propria formata da 4 colonne di larghezze diverse
            Dim tablePdf As PdfPTable = New PdfPTable(columnsPercentageWidth)

            'Per le tabelle, usare l'oggetto PdfPTable e non quello PdfTable, ha funzionalità nettamente migliori
            'importante ricordare che non esiste il concetto di riga, le tabelle sono formate da una serie di mattoncini(pdfcell)uniti.
            'attenzione che superare nell'assegnazione delle larghezze delle colonne il 100% da errore senza aprire il doc. 
            'Spesso lo fa anche se si sbaglia magari con il columnspan il totale delle cellette
            tablePdf.WidthPercentage = 100

            'fonr comune, giocando con l'intellisense si possono vedere i possibili valori
            Dim font_test As Font = FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, 18, Font.UNDERLINE, Color.BLUE)

            Dim cell_titolo As New PdfPCell(New Phrase(New Chunk("Intestazione Tabella", font_test)))
            cell_titolo.HorizontalAlignment = Element.ALIGN_CENTER
            cell_titolo.BorderWidth = 2
            cell_titolo.BorderColor = Color.RED
            cell_titolo.Colspan = 4
            cell_titolo.Padding = 8
            cell_titolo.PaddingBottom = 15
            tablePdf.AddCell(cell_titolo)

            For i As Integer = 1 To 10
                'metto le 4 celle
                tablePdf.AddCell("cella" & 1 * i)
                tablePdf.AddCell("cella" & 2 * i)
                tablePdf.AddCell("cella" & 3 * i)
                tablePdf.AddCell("cella" & 4 * i)
            Next

            Dim cell_01 As New PdfPCell(New Phrase(New Chunk("PROVA COLORE", FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, 8, Font.BOLDITALIC, Color.WHITE))))
            cell_01.HorizontalAlignment = Element.ALIGN_CENTER
            cell_01.BorderWidth = 0.2
            cell_01.BackgroundColor = Color.LIGHT_GRAY
            cell_01.BorderColor = Color.CYAN
            cell_01.Colspan = 2
            tablePdf.AddCell(cell_01)

            Dim cell_02 As New PdfPCell(New Phrase(New Chunk("PROVA COLORE", FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12, Font.BOLDITALIC, Color.YELLOW))))
            cell_02.HorizontalAlignment = Element.ALIGN_CENTER
            cell_02.BorderWidth = 0.5
            cell_02.BackgroundColor = Color.BLACK
            cell_02.BorderColor = Color.WHITE
            cell_02.Colspan = 2
            tablePdf.AddCell(cell_02)

            'aggiungo la tabella al documento
            myDoc.Add(tablePdf)

            'creo una pagina nuova per verificare la scritta del numero di pagina in fondo al documento
            myDoc.NewPage()
            myDoc.Add(New Paragraph("Pagina due"))
            myDoc.Add(New Paragraph(vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf))

            Dim columnsPercentageWidth1() As Single = New Single() {100}
            Dim tablePdf1 As PdfPTable = New PdfPTable(columnsPercentageWidth1)
            tablePdf1.WidthPercentage = 100

            Dim cell_titolo1 As New PdfPCell(New Phrase(New Chunk("Intestazione Tabella", FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, 12, Font.BOLDITALIC, Color.GREEN))))
            cell_titolo1.HorizontalAlignment = Element.ALIGN_CENTER
            cell_titolo1.BorderWidth = 1
            cell_titolo1.BorderColor = Color.RED
            cell_titolo1.PaddingTop = 2
            cell_titolo1.PaddingBottom = 8
            tablePdf1.AddCell(cell_titolo1)


            Dim img As Image = Image.GetInstance("http://forum.html.it/forum/faccine/iocero.gif")
            'metto l'immagine dentro alla celletta riducendola
            img.ScalePercent(50)
            Dim cell_1 As PdfPCell = New PdfPCell(New Phrase(New Chunk(img, 10, 10)))
            cell_1.HorizontalAlignment = Element.ALIGN_CENTER
            tablePdf1.AddCell(cell_1)

            'aggiungo la tabella al documento
            myDoc.Add(tablePdf1)

            'aggiungo la stessa immagine leggermente più grande
            img.ScalePercent(80)
            myDoc.Add(img)

            Dim paragrafo As New Paragraph(vbCrLf & "Allineato a destra")
            paragrafo.Alignment = Element.ALIGN_RIGHT
            paragrafo.SpacingAfter = 50
            myDoc.Add(paragrafo)
            myDoc.Add(New Phrase(New Chunk("Il paragrafo sopra ha un margine di 50 e tiene lontano questa scritta.....", FontFactory.GetFont(FontFactory.HELVETICA_OBLIQUE, 8, Font.TIMES_ROMAN, Color.RED))))

            myDoc.AddCreator("Legnetto")
            myDoc.AddAuthor("Riccardone")
            myDoc.AddTitle("Un saluto a Pietro09")
        Catch ex As Exception

        Finally
            'chiudo il documento
            myDoc.Close()
        End Try

        Response.Flush()
        Response.End()

    End Sub

    Public Shared Sub Set_footer(ByRef Doc As iTextSharp.text.Document, ByRef pwr As PdfWriter)
        Dim font As New Font(1, 8, font.BOLDITALIC, Color.GRAY)
        Dim footer As HeaderFooter = New HeaderFooter(New Phrase(New Chunk("Documento creato in data " & CStr(DateTime.Today) & "         Pag: ", font)), True)
        footer.Border = Rectangle.NO_BORDER
        footer.Alignment = Rectangle.ALIGN_CENTER
        footer.Top = 0
        Doc.Footer = footer
    End Sub