在 Asp MVC 5 中使用 Rotativa PDF 生成器隐藏 PDF 中的打印按钮和导航菜单
Hide Print button and nav menu in PDF using Rotativa PDF generator in Asp MVC 5
我想将页面内容转换为PDF。这样我就安装了 nuget 包 rotativa,当我尝试打印视图时,它以 PDF 格式显示整个页面以及打印按钮。我不想在我想要的输出 PDF 中显示打印按钮和导航菜单。
为此,我创建了新视图 (Preview.cshtml),其中包含我需要导出为 PDF 的数据。
public ActionResult ExportCvPdf()
{
string switches = string.Format("--disable-smart-shrinking --header-html {0} --footer-html {1}",
Url.Action("Header", "Cotroller", new { area = "Areaname" }, "http"),
Url.Action("Footer", "Cotroller", new { area = "Areaname" }, "http"));
return new Rotativa.ViewAsPdf("Preview", data)
{
FileName = "Sample-" + DateTime.Now.ToString("yyyyMMdd") + ".pdf",
PageSize = Size.A4,
PageMargins = new Margins(30, 15, 20, 15),
CustomSwitches = switches
};
}
public ActionResult Preview(ViewModel detail)
{
return View(detail);
}
Rotativa 不呈现为印刷媒体,但作为浏览器,您必须强制呈现为印刷媒体。
发送“--print-media-type
”参数
这样做你可以使用css来隐藏打印媒体
@media print
{
.no-print, .no-print *
{
display: none !important;
}
}
或使用 bootstrap 隐藏印象
<input type="button" class="hidden-impression" value="PDF"/>
如何让rotativa理解如何打印
例如:
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type"
}
完整示例:
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type",
FileName = $"Talao_{DateTime.Now.Day}-{DateTime.Now.Month}-{DateTime.Now.Year}.pdf",
PageOrientation = Orientation.Portrait,
PageSize = Size.A4,
PageMargins = new Margins(0, 0, 0, 0),
PageWidth = 210,
PageHeight = 297
};
我想将页面内容转换为PDF。这样我就安装了 nuget 包 rotativa,当我尝试打印视图时,它以 PDF 格式显示整个页面以及打印按钮。我不想在我想要的输出 PDF 中显示打印按钮和导航菜单。
为此,我创建了新视图 (Preview.cshtml),其中包含我需要导出为 PDF 的数据。
public ActionResult ExportCvPdf()
{
string switches = string.Format("--disable-smart-shrinking --header-html {0} --footer-html {1}",
Url.Action("Header", "Cotroller", new { area = "Areaname" }, "http"),
Url.Action("Footer", "Cotroller", new { area = "Areaname" }, "http"));
return new Rotativa.ViewAsPdf("Preview", data)
{
FileName = "Sample-" + DateTime.Now.ToString("yyyyMMdd") + ".pdf",
PageSize = Size.A4,
PageMargins = new Margins(30, 15, 20, 15),
CustomSwitches = switches
};
}
public ActionResult Preview(ViewModel detail)
{
return View(detail);
}
Rotativa 不呈现为印刷媒体,但作为浏览器,您必须强制呈现为印刷媒体。
发送“--print-media-type
”参数
这样做你可以使用css来隐藏打印媒体
@media print
{
.no-print, .no-print *
{
display: none !important;
}
}
或使用 bootstrap 隐藏印象
<input type="button" class="hidden-impression" value="PDF"/>
如何让rotativa理解如何打印 例如:
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type"
}
完整示例:
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type",
FileName = $"Talao_{DateTime.Now.Day}-{DateTime.Now.Month}-{DateTime.Now.Year}.pdf",
PageOrientation = Orientation.Portrait,
PageSize = Size.A4,
PageMargins = new Margins(0, 0, 0, 0),
PageWidth = 210,
PageHeight = 297
};