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

发布于 2024-07-18 09:08:50 字数 340 浏览 6 评论 0原文

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

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

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

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

提前致谢。

We have an application in classic ASP that allows user to 'attach' files to information. These can be PDFs, spreadsheets, Word documents, etc.

In the new ASP.NET version, one requested option was for a "Print All" (one user has a situation where there are 34 attached files and, in the current system, she has to open and print each one individually).

The files are kept in a separate directory - not embedded in the database. The database simply contains an ID number and the file's extension so the application would then go out and open "2182.xls" if the user wanted to see it (which would open an Excel window in that case).

Is there a way to send a file to a printer when all you have is the fully qualified filename? (Which I could presumably repeat 34 times in the above example)

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

(り薆情海 2024-07-25 09:08:50

请记住,您的 asp.net 代码在 Web 服务器上运行。 它不在客户端计算机上运行,​​并且不知道那里安装了哪些打印机(如果有!)。 这就是网络的运作方式; 根据设计,网络应用程序所能做的就是打开当前页面的打印对话框。 如果再多的话,黑客就会利用我们的网络浏览器发送与传真机上收到的垃圾邮件相同的垃圾邮件。

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

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

Remember that your asp.net code runs on the web server. It's not running on the client computer and has no knowledge of what printers (if any!) are installed there. That's just the way the web works; by design, all a web app can do is open the print dialog for the current page. Anything more, and hackers would use our web browsers for the same kind of spam you get at a fax machine.

That said, there might be some things you can do:

  • Add an activex control, flash app, silverlight app, firefox plugin, or other plugin code to support the feature.
  • Render all the attachments on the server into one html document with appropriate styles and javascript so it prints correctly and prompts the user on load.
  • If this if for a local intranet site (as opposed to public internet) where you have special knowledge of what printers are available for the current user, you could setup all the printers on your server and have it print to the correct location on behalf of the user.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文