Web Services Web应用程序是否可以检测本地打印机?

mwg9r5ms  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(185)

我想知道Web应用程序(托管在远程服务器上)是否能够检测连接到主机(访问Web应用程序的主机)的打印机?
此外,是否也可以将打印作业(主要是图像)发送到主机的打印机?
例如,假设您有一个本地WPF应用程序(Windows Presentation Foundation,C#)正在桌面上运行。
要打印图像:
1.选择WPF应用程序上的图像(从本地硬盘上的目录加载)
1.点击“打印按钮”
这将运行下面这行C#代码:

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

它会将image的打印作业发送到本地计算机的默认打印机。
因此,现在您拥有的不是WPF应用程序,而是Web应用程序。用户将:
1.键入Web应用程序的URL

  1. Web-App将加载一个类似于WPF应用程序的页面
  2. Web-App将显示从数据库加载的图像。
    1.用户选择要打印的图像
    1.用户点击“打印图像”
    然而,为了打印图像,我想Web应用程序需要识别用户在其本地计算机上的打印机,并能够与打印机通信。
    当然,Web应用程序不需要在. NET中。我只是使用WPF/C#作为示例。
p4tfgftt

p4tfgftt1#

坦率地说,答案是否定的。服务器端代码不能以这种方式与客户端资源进行通信。
一个可能的解决方案是将一些客户端组件嵌入到你的web应用程序中,比如Java小程序或Silverlight项目。我不知道它们是否能够打印,但这可能是一个值得研究的选择。
不过,我会建议最好的处理方法(如果您的用例允许的话),就是提供一些能够通过本地浏览器方法打印的东西。您可以提供一个样式表,该样式表专门用于使用link元素上的media="print"属性打印。如果这仍然不够精确(您无法控制浏览器的纸张大小、页边距、页眉/页脚等),也许另一个选择是提供特定于打印的文件,如PDF。你所要求的是不可能的,这是一个寻找另一种方法来满足你的要求的问题。

k5ifujac

k5ifujac2#

我也有类似的问题,我还没有编程,但是我发现惠普打印机可以通过惠普网络接收打印作业。如果你有WiFi功能,应该有办法通过电子邮件将打印作业发送到打印机。我还在研究这个问题。但是,我有一个朋友用AWS做了类似的事情。
有一段时间了,但我已经了解到惠普打印机可以启用WiFi。这意味着,他们可以得到一个电子邮件地址,并可以打印到,在该地址,通过互联网,如果他们连接到一个WiFi网络连接到互联网。电子邮件通过互联网直接到打印机,在那里,然后打印。所以,你可以电子邮件打印文件。

相关问题