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 に答える