WIA通过网络浏览器 – ASP.NET

我想知道什么是编写一个位于Web浏览器中的扫描应用程序的最佳/首选方式。 基本的想法是我想使用一个网页,我可以点击一个按钮,它将扫描客户端上的文档并将该文档上传到服务器。 想到的第一个想法是编写一个本机(C ++?)浏览器插件。 但是,我不知道本机插件需要什么才能成为跨浏览器。 所以这里有几个问题:

  1. Silverlight是可行的选择吗? 这是我更喜欢的,因为我的所有代码都是C#,ASP.NET。 问题是 – Silverlight可以在客户端上与Windows Image Acquisition COM对话吗?

  2. 在flash中写一些东西,可能正在使用Flex? 这是一个可行的选择吗? 它可以在客户端与WIA COM交谈吗?

  3. 最后,如果答案是用C ++编写,那么跨浏览器的一些高级问题是什么呢?

  4. 还有什么呢?

看看这个: http : //code.msdn.microsoft.com/silverlightwia

看看XBAP 。 这是一个WPF基于Web的应用程序。 它需要客户端上的.NET 3.5,因此只有Windows,但在浏览器中运行。

我们的产品刚刚开始使用它,我一直在调查将其纳入我们的CI和发布流程。 有点学习曲线,但我们非常接近自动部署(没有发布),一旦我们对我们的方法感到满意,我就会更新这个问题。

Silverlight在沙箱中运行,无法访问本地计算机上的任何资源(隔离存储除外)。 它无法访问COM对象,无法访问本地硬件。

您可以考虑的选项是在与WIA通信的客户端计算机上安装很少的服务,并使用端口与SL服务进行SL通信。

另一种解决方案可能是(签名)Java包,它可以使用包中包含的小型本机代码DLL来访问TWAIN。 Gnome的人们有一种叫做Morena Framework的产品就是这样的。 也可以用这种方式推出自己的解决方案。 我不打算在WIA上使用任何严肃的文档扫描解决方案,除非WIA 2.0有很大改进 – 至少可以使用Fujitsu fi,Canon DR,Kodak i系列,Visioneer或Documate ADF等扫描仪进行一些实际测试,以及HP N6010或5K。