我在页面中创建了一个面板,并在页面中创建了动态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>
答案 0 :(得分:7)
以下是新修改的代码。
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);