TextBox控件不适用于导出为PDF(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?

我认为,当您渲染divToPDF时,您得到的是html的新剪切,而它没有页面上填充的值。你可能想看看使用divToPDF,也就是说你想看看访问InnerHtmlOuterHtml属性并使用它。

试试这个。

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);
}

最新更新