【问题标题】:JTwain doesnt work in jsp using servletJTwain 在使用 servlet 的 jsp 中不起作用
【发布时间】:2011-05-01 19:15:31
【问题描述】:

我已经下载了 JTwain api 并创建/测试了一个 java 类来连接到我的扫描仪,打开扫描仪 UI 并将图像扫描回 java,没有任何问题。

然后我尝试在 tomcat 中创建一个 JSP,其中表单操作连接到 servlet doPost 方法,然后调用 JTwain 方法。

我遇到的问题是,柯达扫描仪窗口没有让我按扫描,而是冻结了网页。我放了一些 system.outs 来检查它在哪里冻结,它在 2 处停止,好像柯达扫描仪对话框正在显示并等待我按下扫描按钮。

public static Image initScan(){
    try {
         Source source = SourceManager.instance().getDefaultSource();
         System.out.println(1);
         source.open();
         System.out.println(2);
         Image image = source.acquireImage();
         System.out.println(3);
         return image;
    }catch(Exception e) {
         e.printStackTrace();
         return null;
    }finally{
         SourceManager.closeSourceManager();
    }
}

我认为它会像任何文件打开对话一样工作,但显然不是,有什么建议吗?

【问题讨论】:

  • 您真的打算运行连接到服务器机器(网络服务器运行的地方)的扫描仪吗?如果您的实际意图是运行连接到客户端计算机(网络浏览器运行的地方)的扫描仪,那么您需要采用完全不同的解决方案。

标签: java jsp servlets twain java.util.scanner


【解决方案1】:

我对 JTwain 一无所知,但是 JSP 是在服务器上执行的,而不是在客户端上执行的。而且我想您的 Tomcat 无法访问 GUI 界面,这可以解释它无法打开窗口。 (或者它会打开服务器上的窗口,您看不到它。)

您在服务器日志文件中看到什么了吗?

【讨论】:

  • 没有错误,只有数字 1 和 2 作为输出。我认为您对服务器端的建议是正确的。有办法解决吗?
  • 您想用连接到服务器的扫描仪还是连接到客户端的扫描仪进行扫描?
  • 客户端。这听起来可能很愚蠢,但就目前而言,我的 tomcat 无论如何都在我的本地机器上,所以它应该不会看到我的扫描仪?
  • @slex:不一定。 Tomcat 的图形环境可能配置为无头,因此 GUI 操作将不起作用或可能引发异常。
  • 对于客户端,正确的方法是使用小程序。我认为 JTwain 网站上有一个示例小程序。 (不过,它需要签名和权限才能加载 DLL。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 2014-01-22
相关资源
最近更新 更多