Printing 通过服务器从一个客户端打印到另一个客户端

Printing 通过服务器从一个客户端打印到另一个客户端,printing,client,Printing,Client,我不知道这听起来是否疯狂,但下面是一个场景- 我需要在互联网上打印一份文件。My pc ClientX使用web浏览器启动访问internet上服务器的过程,打印机连接到ClientZ(可能是您的)。 1.文档存储在服务器上。 2.ClientZ纯粹是一个cliet;没有IIS,没有打印服务器等 3.我有ClientZ、IP、端口等的具体细节。 4.它将完全是一个使用ASP.NET&C的服务器端应用程序(在ClientZ上没有客户端) -那么,有可能吗?如果是,请提供一些线索。谢谢 这是一个很大

我不知道这听起来是否疯狂,但下面是一个场景-
我需要在互联网上打印一份文件。My pc ClientX使用web浏览器启动访问internet上服务器的过程,打印机连接到ClientZ(可能是您的)。
1.文档存储在服务器上。
2.ClientZ纯粹是一个cliet;没有IIS,没有打印服务器等
3.我有ClientZ、IP、端口等的具体细节。
4.它将完全是一个使用ASP.NET&C的服务器端应用程序(在ClientZ上没有客户端)
-那么,有可能吗?如果是,请提供一些线索。谢谢

这是一个很大的问题,但基本上你需要做的是

  • 将文件上载到服务器--很简单
  • 做一些事情来弄清楚他们是否被允许打印文档——根据范围从琐碎到困难
  • 将项目添加到队列以进行打印,并将其与用户/会话关联--很简单
  • 呈现和打印文档--根据范围从简单到困难
  • 通知用户文档已打印
  • 处理错误
这里最大的未知数是范围,如果这是一个学校项目,你可能不必担心第二步的账单或队列优先级。如果its用于商业产品,则计费可以是其自身的一个重要子系统

步骤4中的困难直接取决于您要支持的格式,因为许多格式需要特定于文档的库或应用程序。如果这是一个商业产品,这里还需要考虑安全问题,因为尝试呈现所有类型的文件是不安全的

通知可以是简单的,也可以是困难的,这取决于您希望如何进行通知。您可以发回html页面,但根据完成一项工作所需的时间,也可以使用电子邮件选项

您还需要考虑错误。当纸张或碳粉用完或有人试图在A4纸上打印时会发生什么情况?必须通知某人,这样工作机会才不会增加

在服务器上,我只运行web上的用户交互部分,并有一个“打印守护进程”作为服务运行,以管理打印文档并监视其状态。我会使用WCF在两者之间进行IPC

在打印守护进程中,您需要一组组件来打印不同类型的文档。我会为每个类型(或类型集群)制作一个程序集,并使用MEF将它们作为插件加载到您的服务中


抱歉,这太笼统了,但您提出的问题相当笼统且难以回答。

您是在寻找软件还是在编写软件来实现这一点?我需要自己使用ASP.NET和C#(以及任何需要的.NET)构建应用程序。非常感谢您的回复。我的文档已经在服务器上,可以打印。因此,第1步和第2步一点也不困难。但我不明白的是,如果打印机被共享并添加到服务器,就像它是本地打印机一样,服务器将如何在客户端机器(ClientZ)上启动打印。如果不是这样的话,如果没有在客户端机器上运行的软件,这将永远无法工作。