2010-12-01 130 views
0

我想直接发送到默认打印机的报告,这已经与此代码运行正常:Crystal报表直接发送报告默认打印机

doc.Load(Server.MapPath("~\\reports\\CrystalReport\\DocumentCRV.rpt")); 
doc.SetDataSource(dsReport); 
doc.PrintToPrinter(1, true, 0, 0); 

的问题是,它只能当我正在我的开发机器上运行web应用程序(所以,我假设它获得了服务器的默认打印机,而不是用户的打印机)

+0

你是说你想让服务器向* client *的默认打印机发送报告吗? – Gabe 2010-12-01 16:36:49

回答

0

有没有办法直接打印到从Web服务器的用户提供打印机,除非你有可能在同一内部网/目录。那将是一场管理噩梦。

最好的办法是弹出打开查看器,然后打开对话框。

我确实使用了一个活动的x控件,它可以枚举最终用户打印机,然后自动打印它。但是,这只是IE而且维护不善。

0

控制用户打印机不是可以从服务器端代码完成的,因为这会造成潜在的安全漏洞。浏览器可能被迫用JavaScript打印。也许你可以把报告下载给用户?那么他们可以从PDF查看器或其他内容打印?