我已经使用iTextSharp / XMLWorkerHelper成功将HTML转换为PDF。到目前为止,我已经能够将内部样式应用于HTML,如下所示。这很好用。但是,当我尝试使用CDN来使用Font Awesome时,我没有运气。
这就是我的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<style>
body {
color: #000000;
font-size: 14px;
font-family: Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>
<i class="fa fa-briefcase"></i>
</body>
</html>
这就是我将HTML转换为内存流的方式,最终用于通过FileStreamResult
创建PDF(FileStreamResult
正在关闭内存流)。
string html = "<html here>";
var ms = new MemoryStream();
using (var doc = new Document())
{
using (var writer = PdfWriter.GetInstance(doc, ms))
{
doc.Open();
using (var srHtml = new StringReader(html))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, srHtml);
}
writer.CloseStream = false;
doc.Close();
}
}
为什么我无法在生成的PDF上看到公文包?