ASP.NET:如何将文件从数据库发送到打印机?

ASP.NET:如何将文件从数据库发送到打印机?

问题描述:

我有一个ASP.NET 2.0(C#)网页,其链接从MS SQL数据库中提取blob,并以适当的文件格式输出,即Word,WordPerfect,PDF。ASP.NET:如何将文件从数据库发送到打印机?

我的用户希望一键打印这些文件。现在他们必须点击链接才能打开文件,然后在打开文件的应用程序中单击“打印”按钮。

另外,如果可能的话,我想用打印机将多个文档发送到打印机。

谢谢。

是否要打印到连接到服务器或连接到客户端的打印机?

如果你想在客户端上打印,你不会有太多机会。对于HTML内容,也许有些JavaScript或Flash可能会触发打印对话框(不确定),但如果它是一个必须在第三方应用程序(如PDF,DOC,XLS等)中打开的文件,运气。

如果是内部网络,您可能会创建一个安装在每个客户端PC上的桌面应用程序,然后触发打印。

如果它是连接到服务器的打印机,则可以使用标准.net工具进行打印,但您可能需要解决打印PDF/DOC/XLS等情况时需要解决的问题,因为您需要使用自动化(COM或SendKeys之类的东西),这会导致您在服务器上头痛。

所以简而言之:没有太多的事情可以只用ASP.net来处理。

+0

这将是连接到客户端的打印机。 – 2008-11-10 20:47:43

+0

然后你有一个问题。出于安全原因,您将无法使用JavaScript从浏览器控制第三方应用程序,因此您需要某种在客户端上运行的Helper Utility并触发打印。 – 2008-11-10 20:50:43

我已经得到的最接近这一使用Javascript:

<body onload="window.print()"> 
... 
</body> 

这将弹出的打印对话框页面加载时(见this post更多)。如果你仔细想想,除非你在内部网络上,否则你可能无法做其他事情。您希望计算机如何“自动”开始打印弹出窗口?