我在网络应用程序中使用.rdlc报告,将报告导出为pdf&打印它很好但现在我想自动打印报告(我,点击打印按钮。)
Is it possible to print rdlc report automatically?
请帮帮我, &安培;谢谢。
答案 0 :(得分:1)
是否可以自动打印rdlc报告?
如果你可以在页面上渲染它,你可以使用javascript window.print()打印当前窗口。因此,sinni800表示在单独的页面上呈现报告。
像这样,
在包含其他内容的页面上添加此按钮:
<a href="javascript:window.open('/print-content.html','_blank');">print report</a>
打开窗口的第一个参数是带有报表查看器的页面,在该页面中,您可以在加载事件上开始打印,如下所示:
<body id="top" onload="window.print();">
rendered report here
</body>
但如果你让我更好地坚持你目前的解决方案。
您可以将报告保存为PDF格式的磁盘,使用Javscript将其打开然后打印出来,代码项目中有一个示例,可以完全按照我的说法进行操作:
http://www.codeproject.com/Tips/376300/Custom-Print-functionality-for-Microsoft-Report-Vi
答案 1 :(得分:1)
实际上,当您在Internet Explorer中打开rdlc报告时,必须有一个执行该打印作业的按钮。
答案 2 :(得分:0)
如果您的目标是支持Active-X的浏览器(例如IE),则以下解决方案应该有效:
<script language="javascript">
function PrintReport() {
var viewerReference = $find("ReportViewer1");
var stillonLoadState = viewerReference.get_isLoading();
if (!stillonLoadState ) {
var reportArea = viewerReference .get_reportAreaContentType();
if (reportArea == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
$find("ReportViewer1").invokePrintDialog();
}
}
}
</script>
请注意,此解决方案不适用于不支持Active-X的浏览器