我正在研究 ASP.NET MVC。我在使用 Rotativa 通过 ViewAsPdf 函数渲染 Pdf 页面时遇到问题。它在 Visual Studio 调试中工作正常,但是当发布到 localhost 时,IIS 字体大小发生了变化,它在 IIS 上更大。我比较了没有 ViewAsPdf 功能的 HTML 页面,没有问题,字体大小没有改变,当我使用 Rotativa 时它改变了。
这是控制器代码:
return new ViewAsPdf(TempData["gridData"])
{
PageSize = Rotativa.Options.Size.A4,
PageOrientation = Rotativa.Options.Orientation.Landscape,
CustomSwitches = string.Format("--footer-left \"Note:.....\" "
+ "--footer-font-size \"8\" "
+ "--footer-right \"Page [page] of [toPage]\" ")
};
这是我用于呈现 pdf 页面的视图代码:
@model IEnumerable<PM_Calibration.ViewModels.CalibrationDataList>
@{
ViewBag.Title = "Monthly List of Calibration Task";
Layout = null;
}
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="~/Content/PrintStyle.css" rel="stylesheet" type="text/css" />
<link href="~/Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
</head>
<body>
@{
IList<PM_Calibration.ViewModels.CalibrationDataList> ModelList = Model.ToList();
List<PM_Calibration.ViewModels.CalibrationDataList> TableList = new List<PM_Calibration.ViewModels.CalibrationDataList>();
var i=1;
for (int x = 0; x < ModelList.Count; x++ )
{
var item = ModelList[x];
TableList.Add(ModelList[x]);
if(i==24)
{
@Html.Partial("PartialMonthlyCalibration_Table", TableList)
i = 0;
TableList.Clear();
}
i++;
}
}
</body>
我不确定这些代码是否足以解决这个问题。
我的问题是为什么在 localhost IIS 上更改了我的字体大小?