我们正在使用Rotativa在网络服务器上保存页面的永久PDF副本。以下是构建和保存它的ASP.NET MVC 4代码:
var pdfResult = new ActionAsPdf("Index", new { orderId = orderValidated.orderID }) { FileName = filePath };
var binary = pdfResult.BuildPdf(ControllerContext);
// writes only if the file does not exist, we need to keep first authentic print of it.
if (System.IO.File.Exists(filePath) == false)
{
System.IO.File.WriteAllBytes(filePath, binary);
}
我们在页面<head>
部分中使用特定的'css'文件进行打印:
<head>
<link media=all href="/Content/invoice.css" type=text/css rel=stylesheet>
<link media=print href="/Content/printInv.css" type=text/css rel=stylesheet>
</head>
'css'打印版本包含:
#logo {background: url(/assets/images/logo-plain.gif) no-repeat; height: 56px}
并且PDF文档中缺少* .gif图像(屏幕上显示)。
有关它缺失原因的任何想法吗?
感谢。
答案 0 :(得分:1)
我认为这是Rotativa的一个问题。
我要解决的是使用image标签插入背景图像,然后使用css定位它:
#bg {
position: absolute;
top: 8px;
left: 0px;
z-index: 0;
}
<img src="@Url.Content("~/content/background-image.jpg")" id="bg" />
答案 1 :(得分:0)
据我所知,Rotativa存在gif图像问题。尝试使用jpg或png。