我正在使用Rotativa
(v 1.7.3)在MVC应用程序中将HTML转换为pdf。
我的目标是创建pdf-
使用静态页眉和页脚可以正常工作,但是当我使用动态页眉时,我得到的是空白的pdf页面。
操作方法:
public ActionResult Print(long workOrderId)
{
WorkOrderVM objWorksOrderVM = new WorkOrderVM();
// Data population code goes here
string footer = Server.MapPath("~/Views/WorkOrder/WODetailPrintTemplateFooter.html");
string customSwitches = string.Format("--header-html \"{0}\" " +
"--header-spacing \"0\" " +
"--footer-html \"{1}\" " +
"--footer-spacing \"10\" " +
"--footer-font-size \"10\" " +
"--header-font-size \"10\" ", Url.Action("Header", "WorkOrder", new { area = "" }, "http"), footer);
return new PartialViewAsPdf("WODetailPrintTemplate", objWorksOrderVM)
{
CustomSwitches = customSwitches
};
}
[AllowAnonymous]
public ActionResult Header()
{
WorkOrderVM objWorksOrderVM = new WorkOrderVM();
// Data population code goes here
return View(objWorksOrderVM);
}
从未打过Header
操作方法。问题可能出在Url.Action
或什么?
更新:
由于我已经从控制器中评论了Header
,因此SessionExpiaryAttribute
操作方法现在被命中。该属性的主要目的是在会话过期后重定向到“会话过期”页面。
现在的问题是
Header
操作方法终止会话。我已经在此处上传了生成的pdf的屏幕截图。
标题html:
<!DOCTYPE html>
<html>
<body style="border: 0; margin: 0;">
<table style="width: 100%">
<tr>
<td align="left" valign="top" height="157">
model binding will come here.
</td>
</tr>
</table>
</body>
</html>