this should get you started. but i do beleive this code is to be used in conjunction with itextsharp.dll. If i remeber correctly you'll have to use a 3rd party function to create pdf's.
you can probably put the page in a div or some sort of container on render, my example uses a gridview.
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=example" & Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & ".pdf")
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Dim sw As New StringWriter()
Dim hw As New HtmlTextWriter(sw)
Dim frm As New HtmlForm()
GridView2.AllowPaging = False
GridView2.Parent.Controls.Add(frm)
frm.Attributes("runat") = "server"
GridView2.HeaderRow.Style.Add("color", "#62A265")
GridView2.Style.Add("font-family", "Arial, Helvetica, sans-serif;")
GridView2.Style.Add("font-size", "8px")
frm.Controls.Add(GridView2)
frm.RenderControl(hw)
Dim sr As New StringReader(sw.ToString())
Dim pdfDoc As New Document(PageSize.LETTER, 10.0F, 10.0F, 10.0F, 0.0F)
Dim htmlparser As New HTMLWorker(pdfDoc)
PdfWriter.GetInstance(pdfDoc, Response.OutputStream)
pdfDoc.Open()
htmlparser.Parse(sr)
pdfDoc.Close()
Response.Write(pdfDoc)
Response.[End]()
End Sub