C# 删除一个";“打印”;从视图呈现PDF之前的按钮-MVC3
我有一个视图,当用户单击“打印”按钮时,我会将其传递给(wkhtmltopdf)以获取该视图的PDF版本供用户打印: 这里是渲染视图,如果用户单击“打印”按钮,该视图将转换为PDF 下面是视图中的按钮代码C# 删除一个";“打印”;从视图呈现PDF之前的按钮-MVC3,c#,jquery,asp.net-mvc-3,wkhtmltopdf,C#,Jquery,Asp.net Mvc 3,Wkhtmltopdf,我有一个视图,当用户单击“打印”按钮时,我会将其传递给(wkhtmltopdf)以获取该视图的PDF版本供用户打印: 这里是渲染视图,如果用户单击“打印”按钮,该视图将转换为PDF 下面是视图中的按钮代码 <div id="print-pdf" align="center"> <a id="print-me" class = "print-btn" href='@Url.Action("PrintMyView", "Report",
<div id="print-pdf" align="center">
<a id="print-me" class = "print-btn"
href='@Url.Action("PrintMyView", "Report",
new { id = Model.MonthlyReportID,
clubKeyNo = Model.ClubKeyNumber,
month = Model.ReportMonth,
year = Model.ReportYear }, null)'>Print Report</a>
</div>
常识告诉我,在从视图生成PDF之前,我需要删除按钮,这样用户就不会得到带有按钮的PDF:
我试图隐藏按钮(.hide())并将其删除(.remove())
但PDF仍在使用按钮进行渲染:
<script type="text/javascript">
$(document).ready(function () {
$('#print-me').show();
$('#print-pdf').click(function () {
$('#print-me').hide();
});
});
</script>
$(文档).ready(函数(){
$(“#打印我”).show();
$('#打印pdf')。单击(函数(){
$(“#打印我”).hide();
});
});
还有什么我可以试试的吗
谢谢 试试这个css:
@media print
{
#print-me
{
display:none;
}
}
您可以为PDF制作一个版本,这样您就可以处理应该打印的内容和否 在javascript中运行的东西不起作用,因为当厄运准备就绪时就会执行,但Rotativa不会执行任何javascript 因此,您只需渲染所需的内容
@if (Model.mustPrint){
<div id="print-pdf" align="center">
<a id="print-me" class = "print-btn" href='@Url.Action("PrintMyView", "Report",
new
{
id = Model.MonthlyReportID,
clubKeyNo = Model.ClubKeyNumber,
month = Model.ReportMonth,
year = Model.ReportYear
}, null)'>Print Report</a>
</div>
}
@if(Model.mustPrint){
}
Rotativa不作为打印介质渲染,但作为浏览器,必须强制渲染为打印。
发送“--print media type
”参数
如果要打印,可以使用css隐藏媒体
@media print {
.noprint {
display: none! important
}}
例:
完整示例:
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type",
FileName = your_name_report.pdf",
PageOrientation = Orientation.Portrait,
PageSize = Size.A4,
PageMargins = new Margins(0, 0, 0, 0),
PageWidth = 210,
PageHeight = 297
};
在这种情况下,您的答案不起作用,因为Rotativa不会在浏览器中转换当前视图,当用户发送打印时,这是对服务器的另一个请求,呈现视图并转换为pdfYes,此解决方案非常好。我刚刚创建了一个新的视图模型成员,并按照您的建议使用它。谢谢
return new ViewAsPdf("Details", obj)
{
CustomSwitches = "--print-media-type",
FileName = your_name_report.pdf",
PageOrientation = Orientation.Portrait,
PageSize = Size.A4,
PageMargins = new Margins(0, 0, 0, 0),
PageWidth = 210,
PageHeight = 297
};