Cómo hacer que un cliente reciba una copia de un formulario que completó, como un PDF en ASP.NET + C #

Estoy creando un formulario en ASP.NET y quiero que el cliente reciba la copia en PDF del formulario cuando lo haya completado y enviado; es decir, necesito crear una copia en PDF del formulario HTML, con la información del cliente completada.

He probado diferentes fonts, pero muchas que he visto son solo un conjunto de tablas; No he visto uno que tenga un formulario personalizado con la información que un cliente acaba de completar.

¿Cómo puedo crear un PDF a partir de un formulario existente y un conjunto de datos de clientes?

Aquí está mi código hasta ahora:

protected void btnExport_Click(object sender, EventArgs e) { string ubARSpecials = ""; if (CheckBox_Specials.Checked) { ubARSpecials = "1"; } else { ubARSpecials = "0"; } string Query = "Insert into NewClient_Information(Name, Trading_As, ubARSpecials) values ('" + Txtbox_CompanyN.Text.Replace("'", "''") + "', '" + Txtbox_TrandingAs.Text.Replace("'", "''") + "', '" + ubARSpecials + "'); "; SqlCommand cmd = new SqlCommand(Query, conn); try { conn.Open(); myReader = cmd.ExecuteReader(); MessageBox.Show(this.Page, "Submitted Succesfully"); Txtbox_TrandingAs.Text = ""; Txtbox_CompanyN.Text = ""; CheckBox_Specials.Checked = false; } catch (Exception ex) { MessageBox.Show(this.Page, ex.Message); } conn.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); StringReader sr = new StringReader(sw.ToString()); Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.Write(pdfDoc); Response.End(); }