【发布时间】:2012-01-16 18:12:32
【问题描述】:
我有一个项目即将推出,我的任务是进行一些研发,以确定哪种技术最适合。以下是应用程序当前状态的一些背景信息:
- Web 应用程序;仅供我们的内部用户访问
- Web 应用程序打印到本地打印机 (Zebra),打印作业在回发时通过服务器发送到打印机
新版本在功能上与旧版本相似,但引入了一些新功能:
- 添加了新的桌面打印机。除了从 Zebra 打印机生成的标签之外,我们还将打印一些额外的文件,我们还将生成两个新文档。
- 应用程序必须支持托盘打印。例如,必须从纸盘 1 打印一份文档,而必须从纸盘 2 打印另一份文档。
有人对我应该走哪条路有建议吗:
- 保留为 Web 应用程序
- 转换为 WPF
- 转换为 Silverlight 5
目前,我倾向于 WPF,因为它似乎有更好的打印支持。 Silverlight 似乎并不合适,因为我们可以控制平台,并且它需要与一些硬件(打印机)集成。将其保留为 Web 应用程序仍在讨论中,但我不完全确定它是否最适合托盘打印要求。 (这一切都需要在后台发生,我们不希望用户必须选择打印配置。想想扫描条形码 -> 在 Zebra 打印机上打印标签,从托盘 1 打印产品文档,从托盘打印装箱单2)
到目前为止,我几乎所有的经验都是在 Web 应用程序方面,所以我对整个 WPF/Silverlight 的东西还比较陌生。
谁能证实我上面的假设,或者指出我在哪里犯了一些错误?
【问题讨论】:
-
将您的打印机 API 公开为 WebService,然后使用您认为最容易构建 UI 的任何前端。您可能希望服务器抽象打印机接口并公开您自己的打印机 API,这给出了为您提供最大的灵活性。
-
这将是一个功能添加还是一个完整的返工?您是否有任何特殊原因需要将其从 Web 应用程序中转换出来?通过减少代码重用和学习曲线,WPF 或 SL 会做更多的工作。我看不出有任何理由不支持使用网络表单进行特定于托盘的打印。
-
本地网络上的Silverlight 5 可以使用P/Invoke 执行您在机器上可以执行的任何操作。只是说。
标签: wpf web-applications silverlight-5.0