如何从ASP.NET打印外部文件(XLS,PDF,DOCX等)?

时间:2009-04-29 12:34:11

标签: asp.net printing file-handling

我们在经典ASP中有一个应用程序,允许用户将文件“附加”到信息中。这些可以是PDF,电子表格,Word文档等。

在新的ASP.NET版本中,一个请求选项是“全部打印”(一个用户的情况是有34个附加文件,在当前系统中,她必须打开并单独打印每个文件)

文件保存在单独的目录中 - 未嵌入数据库中。数据库只包含一个ID号和文件的扩展名,因此如果用户想要查看它,那么应用程序将会打开并打开“2182.xls”(在这种情况下会打开一个Excel窗口)。

当您拥有完全限定的文件名时,有没有办法将文件发送到打印机? (在上面的例子中,我可能会重复34次)

提前致谢。

1 个答案:

答案 0 :(得分:1)

请记住,您的asp.net代码在Web服务器上运行。它没有在客户端计算机上运行,​​也不知道那里安装了什么打印机(如果有的话!)。这就是网络运作的方式;按照设计,所有Web应用程序都可以打开当前页面的打印对话框。还有更多,黑客会将我们的网络浏览器用于传真机上的同类垃圾邮件。

那就是说,你可以做一些事情:

  • 添加activex控件,flash应用,silverlight应用,firefox插件或其他插件代码以支持该功能。
  • 将服务器上的所有附件渲染为一个具有相应样式和javascript的html文档,以便正确打印并提示用户加载。
  • 如果对于本地内部网站点(而不是公共互联网),如果您对当前用户可以使用的打印机有所了解,则可以设置服务器上的所有打印机并将其打印到正确的位置代表用户。