我有一个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?
答案 0 :(得分:1)
我认为,当您正在渲染divToPDF
时,您正在获得html的新剪辑,并且它没有填充页面上的值。您可能希望查看使用divToPDF
您是否希望查看访问InnerHtml
或OuterHtml
属性并使用该属性。
答案 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);
}