在ASP.NET中的客户端PC上直接打印RDLC报告

时间:2015-07-02 11:39:00

标签: javascript c# asp.net printing

我在这里阅读了很多文章和答案,但没有什么能解决我的问题。这就是我再次提出这个问题的原因。 我在Asp.net开发了一个Invoice应用程序。我无法直接在客户端PC上打印发票。它总是要求打印机预览会激怒客户端。我已成功开发直接打印的代码,但它只在本地主机上执行。 请帮帮我,建议我尽快做些什么。 在Javascript或ASP.NET或其他可以帮助我的东西。

1 个答案:

答案 0 :(得分:0)

我们使用SSRS并在服务器上生成pdf格式的报告。将其发送给客户端,我们使用mime类型发送它:application/x-xyz-printpdf - 您还必须设置内容处理:使用文件名,我无法回想起< strong>内联或附件值,以便浏览器显示行为而不是简单地下载和保存文件,但会启动相关程序

客户端有一个稍微修改过的SumatraPDF版本,它与注册表中的application/x-xyz-printpdf相关联(仅限Windows客户端 - 在其他操作系统中有这样的方法,但我们所有的客户端都是这样做的运行Windows,所以我们从来没有打扰过)

此修改后的sumatraPDF从不显示文档,它所做的只是显示一个打印对话框,其中包含所选报告的先前选定的打印机。既然如此,发票将默认为一台打印机,其他报告为不同的打印机,这更方便(并模拟我们旧的非基于网络的应用程序)

我正在使用经过大幅修改的PDFjs和blob版本重写报表打印子系统,但是在早期开发中这样做,所以除了它之外我无法告诉你任何相关信息。看起来它运作良好,无需外部程序。