【问题标题】:How does one print external files (XLS, PDF, DOCX, etc) from ASP.NET?如何从 ASP.NET 打印外部文件(XLS、PDF、DOCX 等)?
【发布时间】:2009-04-29 12:34:10
【问题描述】:

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

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

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

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

提前致谢。

【问题讨论】:

    标签: asp.net printing file-handling


    【解决方案1】:

    请记住,您的 asp.net 代码在 Web 服务器上运行。它不在客户端计算机上运行,​​也不知道那里安装了哪些打印机(如果有的话!)。这就是网络的工作方式;按照设计,Web 应用程序所能做的就是打开当前页面的打印对话框。除此之外,黑客会使用我们的网络浏览器来处理您在传真机上收到的相同类型的垃圾邮件。

    也就是说,您可能可以做一些事情:

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

    【讨论】:

    • 虽然网站是公开的,但只有本地“内联网”用户可以选择自动打印。我开始认为“伴侣桌面应用程序”可能是要走的路。这样我认为我可以打开 Word/Excel/Adobe 的本地实例,并为每个文件执行相当于“.Print”的操作。
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多