2013-02-13 36 views
2

我有一個HTML表單,其中包含標籤和文本框。TextBox控件不能使用導出爲PDF(iTextSharp)

填寫完本表格後,將其導出爲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

你可以把代碼你在做什麼。 – 2013-02-13 10:06:00

+0

一些評論在這裏:http://stackoverflow.com/questions/14896966/itextsharp-htmlworker-bad-convert-html-encrypt-utf-8 HTMLWorker已被棄用,支持XML Worker。我們前段時間已經放棄了對HTMLWorker的支持。如果切換到XML Worker並遇到類似的問題,我們將修復它,但請考慮將HTMLWorker視爲「已死」。 – 2013-02-16 14:57:42

回答

1

我認爲,當你渲染divToPDF你得到了一個新的切割的HTML,它沒有在頁面上填充的值。你可能想看看使用divToPDF是你想看看訪問InnerHtmlOuterHtml財產和使用。

+0

我已經看到該divToPdf的內部html placeholder.it包含所有values.but但它們不能在PDFFile上呈現。 – 2013-02-15 03:51:05

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

如何在pdf中添加文本框或文本框的值? – Hiral 2013-04-30 07:39:19

+0

選擇textbox.text,然後將其添加爲段落或任何其他元素。沒有其他方式 – Saksham 2013-04-30 16:58:51

+0

感謝您的reply.ok和下拉列表,單選按鈕列表和複選框列表呢? – Hiral 2013-05-21 13:34:53

相關問題