我正在尝试将报告直接发送到默认打印机,并且此代码已经运行正常:
doc.Load(Server.MapPath("~\\reports\\CrystalReport\\DocumentCRV.rpt"));
doc.SetDataSource(dsReport);
doc.PrintToPrinter(1, true, 0, 0);
问题是它只在我在我的开发机器上运行web应用程序时才有效(所以,我假设它正在获取服务器的默认打印机,而不是用户的打印机)
答案 0 :(得分:0)
用户是否设置了默认打印机?此外,本文可能有所帮助:
答案 1 :(得分:0)
除非您可能位于同一内部网络/目录中,否则无法从Web服务器直接打印到用户打印机。那将是一场管理噩梦。
您最好的选择是弹出查看器然后打开打印对话框。
我确实使用了一个可以枚举最终用户打印机的活动x控件,然后自动打印它。但是,它只是IE而且维护得很差。
答案 2 :(得分:0)
控制用户打印机不是可以从服务器端代码完成的,因为这会产生潜在的安全漏洞。可以强制浏览器以JavaScript格式打印。也许您可以将报告下载给用户?然后他们可以在PDF查看器中打印什么?