0

I'm trying to generate a pdf file using itextsharp.

Here is the method that's supposed to generate the PDF:

private void Page_onPreRenderComplete(object sender, EventArgs e)
{
    // createPdf.GeneratePDF(htmlMarkup);
    MemoryStream memoryStream = new MemoryStream();

    StringBuilder sBuilder = new StringBuilder();
    StringWriter sw = new StringWriter(sBuilder);
    HtmlTextWriter htmlText = new HtmlTextWriter(sw);

    Page.RenderControl(htmlText);
    string pdfBody = sBuilder.ToString();

    Document document = new Document();
    PdfWriter.GetInstance(document, memoryStream);

    document.Open();
    StyleSheet styles = new StyleSheet();
    HTMLWorker hw = new HTMLWorker(document);

    try
    {
        hw.Parse(new StringReader(pdfBody));
    }
    catch (Exception ex)
    {
       string msg = ex.Message;
    }
    finally
    {
        document.Close();
    }

    HttpContext.Current.Response.ClearContent();
    HttpContext.Current.Response.ClearHeaders();
    HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=outfile.pdf");
    HttpContext.Current.Response.ContentType = "application/pdf";
    HttpContext.Current.Response.Write(memoryStream);
    HttpContext.Current.Response.End();
}

an error is generated on the line within the try block. How can I fix this?

Karl Anderson
  • 34,606
  • 12
  • 65
  • 80

1 Answers1

0

may be the image tags etc are in relative paths instead of absolute paths in the rendered HTML

kalikoi
  • 1
  • 3