2013-02-13 2 views
2

У меня есть HTML-форма, содержащая таблицы и текстовые поля.Элементы управления TextBox не работают с Export To 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

Вы можете ввести код, что вы делаете. –

+0

Некоторые комментарии здесь: http://stackoverflow.com/questions/14896966/itextsharp-htmlworker-bad-convert-html-encrypt-utf-8 HTMLWorker устарел в пользу XML Worker. Некоторое время назад мы отказались от поддержки HTMLWorker. Если вы переключитесь на XML Worker, и у вас возникнет аналогичная проблема, мы исправим его, но, пожалуйста, рассмотрите HTMLWorker как «мертвый». –

ответ

1

Я думаю, что при рендеринге divToPDF вы получаете свежую вырезку html, и у нее нет значений, которые были заселены на странице. Вы можете посмотреть на использование divToPDF, вы хотите посмотреть на доступ к объекту или OuterHtml и использовать его.

+0

Я видел Внутренний html этого divToPdf placeholder.it содержит все значения. Но они не могут отображаться на PDFFile. –

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

+0

выберите textbox.text, а затем добавьте его как абзац или любой другой элемент. нет другого пути – Saksham

+0

Спасибо за reply.ok и как насчет выпадающего списка, списка радиокниг и списка флажков? – Hiral