Have you ever wanted a function to convert HTML to PDF? It is really easy. A good use of this is when you have a resume on your website and you want to create a download of it as a PDF. Mind you; you will have to properly format your resume so it looks good in both cases. Not the easiest job, but totally worth while to have a resume download created on demand.
I just created a genPDF.aspx file that takes a URL and makes it to a PDF. Put a button on the page and have it call the genPDF.aspx page. Your download will automatically be created and pushed through to the browser.
Some things you will need first is a download of some zip files. You can get them from my website or you can seek them out on sourceforge ( iTextSharp / xmlworker ).
There is a lot of examples of how to do this; however, most examples do not support linked CSS files. My example does support linked CSS files.
The code is very simple:
Document document = new Document();
try
{
var oStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, oStream);
document.Open();
document.AddHeader("Content-Disposition", "attachment; filename=resume.pdf");
WebClient wc = new WebClient();
string htmlText = wc.DownloadString("http://ldndeveloper.com/resume/resume.aspx");
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, new StringReader(htmlText));
document.Close();
Response.ClearContent();
Response.ClearHeaders();
Response.AppendHeader("Content-Type", "application/pdf");
Response.AppendHeader("Content-Disposition", "attachment;filename=andrew_pallant_resume2015.pdf");
Response.OutputStream.Write(oStream.GetBuffer(), 0, oStream.GetBuffer().Length);
Response.End();
}
catch(Exception ex)
{
Response.Write(ex.StackTrace);
}
Hi Andrew,
There is a pdf toolkit that I use every day that is definitely worth mentioning. To call this toolkit the Swiss Army Knif of pdf is an understatement. Besides the basics of stitching and splitting PDFs, it can render HTML pages and Word docs (without office) to PDF. Built-in compression and optimize work well too. The most important for me is its ability to placing text and images on pre made PDF forms. I also draw some forms and generate reports completely in code. This toolkit is AbcPDF from webSupergoo. I don’t work form them but have been a user since version 5.
– Erik