0

我正在尝试使用 itextsharp 生成一个 pdf 文件。

这是应该生成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();
}

在 try 块内的行上生成错误。我怎样才能解决这个问题?

4

1 回答 1

0

可能是图像标签等在相对路径中,而不是呈现的 HTML 中的绝对路径

于 2013-10-25T11:44:46.653 回答