Itextsharp doesn't care about my html styles

I create a panel on my page and I create dynamically divs and tables on the page. When I convert to pdf using itextsharp, I don't need my div or table styles, and it gives me a nasty look. How can I fix this. Here is my html conversion code.

String HTML = Session["xpdf"].ToString(); string filename = "\\xpdf\\xpdf____" + Request.QueryString["id"] + ".pdf"; string filepath = HttpContext.Current.Server.MapPath("\\xpdf\\xpdf____" + Request.QueryString["id"] + ".pdf"); Document document = new Document(PageSize.A4); PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create)); document.Open(); HTMLWorker hw = new HTMLWorker(document); hw.Parse(new StringReader(HTML)); document.Close(); ShowPdf(filename, filepath); PdfAction action = new PdfAction(PdfAction.PRINTDIALOG); 

and consider what my html code looks like:

 <div> <table style="border:solid 1px #ccc; color:#000;"> <tr> <td style="width:100px;color:#cc0000;"></td> <td style="width:10px">:</td> <td style="width:200px"></td> </tr> </table> </div> 
+4
source share
1 answer

The new code has been fixed here.

 Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create)); document.Open(); HTMLWorker hw = new HTMLWorker(document); StringReader sr = new StringReader(HTML); XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, sr); //hw.Parse(new StringReader(HTML)); document.Close(); ShowPdf(filename, filepath); PdfAction action = new PdfAction(PdfAction.PRINTDIALOG); 
+7
source

Source: https://habr.com/ru/post/1494027/


All Articles