我正在开发一个Asp.Net 3.5应用程序,我需要打印一些应用程序生成的报告.
我以前使用的是SSRS,但我的设计功能有很多问题.因此,我们现在正在寻找Crystal Reports作为替代方案.
当我们开始使用Crystal时,我们遇到了一个新问题.当单击Crystal Report顶部栏上显示的"打印"按钮时,在网页上显示的报告中,它不显示默认的SO打印对话框,而是显示自定义打印页面,然后将报告打印为PDF.
我知道这个解决方案可能足以满足大多数关于在网上打印报告的情况.但根据我的具体情况,我不能保证访问我的网络应用程序的客户端机器安装了PDF阅读器,如Acrobat Reader.我不能要求他们安装它以便使用我的应用程序.
因此,我正在寻找一种解决方案,使生成的报告的"打印"按钮显示默认的SO打印对话框,而不是将其打印为PDF.
你能给我任何解决这个问题的建议吗?
谢谢.
好的,我在这里寻找死灵法师徽章,所以如果你喜欢这个答案,请记得投票.我认为这个问题有资格获得该徽章.:)
以下是一些有一些想法的链接:
http://aspalliance.com/509
他们在这里说你可以使用服务器端的ReportDocument.PrintToPrinter,但他们说限制是必须指定打印机名称.他们建议您在页面上有一个下拉列表,并使用System.Drawing.Printing.PrinterSettings.InstalledPrinters作为数据源,以便用户可以选择打印机.我没试过这个,但是选项2看起来更像你正在寻找的东西.
他们还说你可以使用clietn-side javascript window.Print函数.在我看来,这似乎是一种更好的方法.
http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=49048
在这个链接中,他们都推荐PrintToPrinter,但我仍然认为客户端调用是你想要的.