How To Convert Html Form Data To Pdf With Hiqpdf Html To Pdf .net Library
This article presents the solution for the following scenario:
Let's say you have filled some values in a HTML form of a web page and you want to convert this web page to PDF preserving the values filled in the form and the ASP.NET Session Data.
In order to capture the values filled in the ASP.NET page, you have to override the Render method of the ASP.NET page to get the HTML code that would be generated during Render phase of the page processing and convert that HTML code to PDF passing the page URL as base URL parameter to the converter.
When a 'Convert This Page to PDF' button in the page is pressed, the convertCrtPageToPdf boolean field is set to true.
This field is checked in the overridden Render method and if it is true then the HTML code is captured, converted to PDF and the generated PDF is sent as response to browser instead of the normal HTML.
The sample code below demonstrates how this procedure works in
HiQPdf HTML to PDF Library for .NET .
Full demo source code and details at:
HiQPDF HTML to PDF .NET LibraryC# code:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;
using HiQPdf;
namespace HiQPdf_Demo
{
public partial class ConvertHtmlPreservingState : System.Web.UI.Page
{
// a flag to indicate to Render method if the current page
// will be converted to PDF
bool convertCrtPageToPdf = false;
protected void buttonConvertCrtPage_Click(object sender, EventArgs e)
{
// indicate to Render method that the current page
// will be converted to PDF
convertCrtPageToPdf = true;
// save custom value in ASP.NET session variable
Session["SessionVariable"] = textBoxCrtSessionVariable.Text;
// show session variable value
panelSessionVariableValue.Visible = true;
litSessionVariableValue.Text = Session["SessionVariable"].ToString();
}
// override the Render method of the ASP.NET page
protected override void Render(HtmlTextWriter writer)
{
if (convertCrtPageToPdf)
{
// setup a TextWriter to capture the current page HTML code
TextWriter tw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(tw);
// render the HTML markup into the TextWriter
base.Render(htw);
// get the current page HTML code
string htmlCode = tw.ToString();
// convert the HTML code to PDF
// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// hide the HTML buttons
htmlToPdfConverter.HiddenHtmlElements = new string[] { "#convertCrtPageDiv"};
// the base URL used to resolve images, CSS and script files
string currentPageUrl = HttpContext.Current.Request.Url.AbsoluteUri;
// convert HTML code to a PDF memory buffer
byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlCode, currentPageUrl);
// inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// let the browser know how to open the PDF document, attachment or inline, and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition",
String.Format("attachment; filename=ConvertThisHtmlWithState.pdf; size={0}", pdfBuffer.Length.ToString()));
// write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// call End() method of HTTP response to stop ASP.NET page processing
HttpContext.Current.Response.End();
}
else
{
base.Render(writer);
}
}
}
}
by: Stephen N.
It Network Support For Data Recovery Surmounting Bogus U.s., Chinese, Et Al. Official Data Counseling Will Help For Substance Abuse Fast Recovery Sba Loans Disaster Recovery Loans Rehabilitation Facilities: Open The Door Towards Recovery From Addiction How Users Can Migrate Database From Lotus Notes To Ms Outlook Mail Client In Better Way? Data Management- Answering The Obstacles Of Handling Stock Understanding The Nutrients That Alcoholics Need During The Recovery Process Cosmetic Surgery Recovery Advice From Dr Lycka Data Center Security Useful Information & Facts About Data Center Racks Are You Effectively Using Charts To Present Data? Variable Data Printing Case Study Camera Picture Recovery-recover Lost Camera Picture Easily