gpt4 book ai didi

web-services - Web 应用程序可以检测本地打印机吗?

转载 作者:行者123 更新时间:2023-12-02 01:59:21 27 4
gpt4 key购买 nike

我想知道 Web 应用程序(托管在远程服务器上)是否有可能检测到连接到主机(访问 Web 应用程序的主机)的打印机?

此外,是否也可以将打印作业(主要是图像)发送到主机的打印机?

例如,假设您有一个在桌面上运行的本地 WPF 应用程序(Windows Presentation Foundation,C#)。

要打印图像:

  1. 在 WPF 应用程序上选择一个图像(从本地硬盘上的目录加载)
  2. 点击“打印按钮”

这将运行这行 C# 代码:

e.Graphics.DrawImage(image, x-coordinate, y-coordinate, imageWidth, imageHeight);

然后它将图像的打印作业发送到本地计算机的默认打印机。

现在,您拥有的不是 WPF 应用程序,而是 Web 应用程序。用户将:

  1. 输入 Web 应用程序的 URL
  2. Web 应用程序将加载类似于 WPF 应用程序的页面
  3. Web 应用程序将显示从数据库加载的图像。
  4. 用户选择他要打印的图片
  5. 用户点击“打印图片”

但是,为了打印图像,我认为 Web 应用程序需要识别用户在其本地计算机上拥有的打印机,并能够与打印机通信。

当然,Web 应用程序不需要在 .NET 中。我只是以 WPF/C# 为例。

最佳答案

坦率地说,答案是否定的。服务器端代码不能以这种方式与客户端资源对话。

一个可能的解决方案可能是将一些客户端组件嵌入到您的网络应用程序中,它可以执行您的操作需要,例如 Java 小程序或 Silverlight 项目。我不确定他们是否能够打印,但这可能是一个值得研究的选项。

但是,我建议最好的处理方式(如果您的用例允许)是提供能够通过 native 浏览器方法打印的内容。您可以使用 link 元素上的 media="print" 属性来提供适用于打印的样式表。如果仍然不够精确(您无法控制浏览器的纸张大小、页边距、页眉/页脚等),也许另一种选择是提供特定于打印的文件,例如 PDF。但最终,您所要求的是不可能的,这是寻找另一种方法来满足您的要求的情况。

关于web-services - Web 应用程序可以检测本地打印机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18024545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com