如何在将HTML写入PDF时应用样式

时间:2011-06-13 11:41:27

标签: asp.net itextsharp

我正在将pdf添加到pdf文件中。我的html是div格式,包含样式属性,其样式类似border:2px solid red;,但此样式不适用于我写入pdf文件的html。

我正在使用以下代码:

Document document = new Document(PageSize.A4_LANDSCAPE, 0, 0, 30, 65);
PdfWriter.GetInstance(document, new FileStream(Server.MapPath("/") + "Temp/" + "parsetest1.pdf", FileMode.Create));
document.Open();
String htmlText = "<div style='border:4px solid red'>Welcome</div>";
StringReader abc = new StringReader(htmlText);
List<iTextSharp.text.IElement> elements = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(abc, null);
foreach (object item in elements)
{
   document.Add((IElement)item);
}
document.Close();

1 个答案:

答案 0 :(得分:0)

iText并不完全支持CSS。它变得越来越好,特别是在最近的几个版本中,但还远未完成。

如果您需要真正准确的HTML-PDF转换,我建议使用WKHTML2PDF。这是一个基于WebKit的命令行应用程序。它非常令人印象深刻......它将运行脚本事件,以便能够正确呈现包含谷歌地图的页面。