ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – itextsharp不关心我的html样式

2019-06-12 20:53:11  阅读:171  来源: 互联网

标签:c asp-net itextsharp


我在页面中创建了一个面板,并在页面中动态创建div和表.当我用itextsharp转换为pdf时,它并不关心我的div或table风格,它给我带来讨厌的外观.
我怎样才能解决这个问题.
这是我转换html的代码.

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

并考虑我的HTML代码看起来像这样:

<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>

解决方法:

这是固定的新代码.

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

标签:c,asp-net,itextsharp
来源: https://codeday.me/bug/20190612/1228349.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有