spoilsin 发表于 2015-11-27 16:26:00

问题点:Debug模式下可以正常实现打印功能,但是发布到IIS上就没有反应。

1.Debug下可以正常跳出打印对话框
2.发布到IIS之后直接打印无任何反应,不弹出打印对话框
3.public void PrintWithOutPreview()
      {
            SectionReport report = new SectionReport(); //初始化SectionReport
      var reader = new System.Xml.XmlTextReader(ReportPath); //读入报表,ReportPath:报表地址(服务器端)
            report.LoadLayout(reader); //载入报表
         report.DataSource = ToolClass.DataListToDataTable(SalaryList); //设置报表数据源。SalaryList:传入的报表数据源
         report.Run(); //生成报表
          report.Document.Print(true, false, false); //打印,true:是否显示打印对话框,false:是否显示打印处理框,false:是否开启打印进程
      }上面黑体的语句返回值为false

spoilsin 发表于 2015-11-27 16:27:00

有高手可以帮忙解决一下的吗

frank.zhang 发表于 2015-11-27 16:38:00

您好,

您调用的这句话
report.Document.Print(true, false, false);
是调用本地的打印程序。IIS通常没有权限调用本地打印程序。

在Web中实现打印可以参考以下博客
http://blog.gcpowertools.com.cn/post/2014/08/24/advanced-html-viewer-with-export-options.aspx

spoilsin 发表于 2015-11-27 16:44:00

谢谢版主这么快回复,我参考一下这篇文章

spoilsin 发表于 2015-11-27 17:00:00

预览的话可以使用IE的打印预览,现在可以实现
现在想要的是直接打印,请问还有好的方法哇
(控件里,预览页可以不显示直接打印吗)

frank.zhang 发表于 2015-11-27 17:32:00

回复 5楼spoilsin的帖子

您好,

打印行为是浏览器的自有行为,没有办法改变。

直接打印需要使用到flash,您可以参考
http://blog.gcpowertools.com.cn/post/2013/10/09/ActiveReports_DirectPrint.aspx

spoilsin 发表于 2015-11-27 17:37:00

嗯先看一下

frank.zhang 发表于 2015-11-30 14:45:00

好的
页: [1]
查看完整版本: 问题点:Debug模式下可以正常实现打印功能,但是发布到IIS上就没有反应。