TextBox控件无法使用导出为PDF(iTextSharp)

时间:2013-02-13 10:02:59

标签: asp.net c#-4.0 itextsharp

我有一个HTML表单,其中包含标签和文本框。

填写此表单后,将导出为PDF。

导出所有标签文本。但文本框文本不会导出为PDF。

代码

protected void btnExportPDF_Click(object sender, EventArgs e)
{
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=DecForm.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    this.divToPdf.RenderControl(hw);
    StringReader sr = new StringReader(sw.ToString());
    Document pdfDoc = new Document(PageSize.A4, 10, 10, 2, 10);
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    htmlparser.Parse(sr);
    pdfDoc.Close();
    Response.Write(pdfDoc);
    Response.End();
}

为什么文本框文本未导出为PDF?

2 个答案:

答案 0 :(得分:1)

我认为,当您正在渲染divToPDF时,您正在获得html的新剪辑,并且它没有填充页面上的值。您可能希望查看使用divToPDF您是否希望查看访问InnerHtmlOuterHtml属性并使用该属性。

答案 1 :(得分:0)

试试这个。

List<IElement> elements = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(htmlString), null);
//htmlString is your form html
foreach (IElement el in elements)
{
    pdfDoc.add(el);
}