protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// Save variables in Session object
Session["firstName"] = firstNameTextBox.Text;
Session["lastName"] = lastNameTextBox.Text;
Session["gender"] = maleRadioButton.Checked ? "Male" : "Female";
Session["haveCar"] = haveCarCheckBox.Checked;
Session["carType"] = carTypeDropDownList.SelectedValue;
Session["comments"] = commentsTextBox.Text;
// Execute the Display_Session_Variables.aspx page and get the HTML string
// rendered by this page
TextWriter outTextWriter = new StringWriter();
Server.Execute("Display_Session_Variables.aspx", outTextWriter);
string htmlStringToConvert = outTextWriter.ToString();
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Set license key received after purchase to use the converter in licensed mode
// Leave it not set to use the converter in demo mode
htmlToPdfConverter.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og=";
// Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed
// Set this property to 0 if you don't need to wait for such asynchcronous operations to finish
htmlToPdfConverter.ConversionDelay = 2;
// Use the current page URL as base URL
string baseUrl = HttpContext.Current.Request.Url.AbsoluteUri;
// Convert the page HTML string to a PDF document in a memory buffer
byte[] outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlStringToConvert, baseUrl);
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Convert_Page_in_Same_Session.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
Display Session Variables in Converted HTML Page
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
firstNameLabel.Text = Session["firstName"] != null ? (String)Session["firstName"] : String.Empty;
lastNameLabel.Text = Session["lastName"] != null ? (String)Session["lastName"] : String.Empty;
genderLabel.Text = Session["gender"] != null ? (String)Session["gender"] : String.Empty;
bool iHaveCar = Session["haveCar"] != null ? (bool)Session["haveCar"] : false;
haveCarLabel.Text = iHaveCar ? "Yes" : "No";
carTypePanel.Visible = iHaveCar;
carTypeLabel.Text = iHaveCar && Session["carType"] != null ? (String)Session["carType"] : String.Empty;
commentsLabel.Text = Session["comments"] != null ? (String)Session["comments"] : String.Empty;
}
}