我正在开发一个Asp.Net 3.5应用程序,我需要打印一些应用程序生成的报告。
我之前使用的是SSRS,但我对它的设计特性有很多问题。正因为如此,我们现在正在寻找Crystal Reports作为替代方案。
当我们开始使用Crystal时,我们面临着一个新的问题。当用户点击显示在Crystal Report顶部栏的Print按钮时,在网页上显示的报表中,不是显示默认的SO的print对话框,而是显示一个自定义的打印页面,然后将报表打印到PDF。
我知道这个解决方案可能满足了大多数关于在web上打印报表的场景。但在我的具体情况下,我不能保证访问我的web应用程序的客户端机器上安装了PDF阅读器,如Acrobat Reader。我不能要求他们为了使用我的应用程序而安装它。
所以我正在寻找一个解决方案,使生成的报告的打印按钮,以显示默认的So的打印对话框,而不是打印到PDF。
你能给我一些解决这个问题的建议吗?
谢谢。
发布于 2009-06-26 18:06:07
好的,我要在这里获得死灵法师的徽章,所以如果你喜欢这个答案,记得去投票。我认为这个问题符合那个徽章的要求。:)
以下是一些带有一些想法的链接:
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,但我仍然认为客户端调用就是您想要的。
https://stackoverflow.com/questions/749455
复制相似问题