【问题标题】:Printing from one Client to another Client via the Server通过服务器从一个客户端打印到另一个客户端
【发布时间】:2011-05-23 11:40:37
【问题描述】:

我不知道这是否听起来很疯狂,但这是场景 -
我需要通过 Internet 打印文档。我的 pc ClientX 使用 Web 浏览器启动该过程以访问 Internet 上的 ServerY,并且打印机连接到 ClientZ(可能是您的)。
1. 文档存储在ServerY上。
2.ClientZ是纯粹的cliet;没有 IIS,没有打印服务器等
3.我有ClientZ、IP、Port等的具体细节
4. 它将完全是一个带有 ASP.NET 和 C# 的服务器端应用程序(在 ClientZ 上没有客户端)
- 那么,有可能吗?如果是,请提供一些线索。谢谢先进。

【问题讨论】:

  • 您是在寻找软件还是编写软件来做这件事?
  • 我需要自己构建应用程序,使用 ASP.NET 和 C#(如果需要,还可以使用任何 .NET)

标签: printing client


【解决方案1】:

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

  • 上传文件到服务器——很简单
  • 做一些事情来确定他们是否被允许打印文档 - 根据范围,从微不足道到困难
  • 将项目添加到打印队列并将它们与用户/会话相关联——简单
  • 渲染和打印文档——根据范围从小到大
  • 通知用户文档已打印
  • 处理错误

这里最大的未知数是范围,如果这是针对学校项目,您可能不必担心第二步中的计费或队列优先级。如果它用于商业产品计费本身就是一个重要的子系统。

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

通知的难易程度取决于您的操作方式。您可以发回 html 页面,但根据完成一项工作需要多长时间,最好也有一个电子邮件选项。

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

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

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

抱歉,这个问题太笼统了,但您问的是一个非常笼统且难以回答的问题。

【讨论】:

  • 非常感谢您的回复。我的文档已经在服务器上,并且可以打印并准备好打印。所以,第 1 步和第 2 步根本没有任何困难。但我没有得到的是,服务器将如何在客户端机器上启动打印,在这种情况下是 ClientZ??
  • 如果打印机是共享的,并且添加到服务器,就好像它是本地打印机一样。如果不是这样,如果没有在客户端计算机上运行的软件,这将永远无法工作。
猜你喜欢
  • 2012-04-15
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
  • 1970-01-01
  • 2023-04-08
相关资源
最近更新 更多