- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想通过Java扫描一些论文。我找到了mm的计算twain库。当我在站点上运行示例 TwainExample.java
时,我收到此错误。
系统信息:windows 7 旗舰版 64 位 - jre 7 32 位
JarLib.load: Successfully loaded library [jar:file:/C:/Users/i_t_manager/
Documents/myJavaProject/JavaApplication11/build/classes/
uk.co.mmscomputing.device.twain.jar!
/uk/co/mmscomputing/device/twain/win64/jtwain.dll] from jar file location
在我点击选择源按钮之后:
uk.co.mmscomputing.device.twain.TwainIOException: Cannot load Twain Source Manager.
感谢您的帮助。我的代码如下。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package uk.co.mmscomputing.device.twain.applet;
/*
A scanner plugin for ImageJ which uses the free mm's computing java library
(available at http://www.mms-computing.co.uk/)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*/
import ij.IJ;
import ij.ImagePlus;
import ij.plugin.PlugIn;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import uk.co.mmscomputing.device.scanner.Scanner;
import uk.co.mmscomputing.device.scanner.ScannerDevice;
import uk.co.mmscomputing.device.scanner.ScannerIOException;
import uk.co.mmscomputing.device.scanner.ScannerIOMetadata;
import uk.co.mmscomputing.device.scanner.ScannerListener;
import javax.swing.WindowConstants;
public class Scan_ extends JFrame implements PlugIn, ScannerListener {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton jButton = null;
private JButton jButton1 = null;
private Scanner scanner;
public static void main(String[] args) {
new Scan_().setVisible(true);
}
public void run(String arg0) {
new Scan_().setVisible(true);
}
/**
* This is the default constructor
*/
public Scan_() {
super();
initialize();
try {
scanner = Scanner.getDevice();
scanner.addListener(this);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 120);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setTitle("Scan");
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
}
});
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton1(), null);
}
return jContentPane;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(4, 16, 131, 42));
jButton.setText("Select Device");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (scanner.isBusy() == false) {
selectDevice();
}
}
});
}
return jButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(160, 16, 131, 42));
jButton1.setText("Scan");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
getScan();
}
});
}
return jButton1;
}
/* Select the twain source! */
public void selectDevice() {
try {
scanner.select();
} catch (ScannerIOException e1) {
IJ.error(e1.toString());
}
}
/* Get the scan! */
public void getScan() {
try {
scanner.acquire();
} catch (ScannerIOException e1) {
IJ.showMessage("Access denied! \nTwain dialog maybe already opened!");
// e1.printStackTrace();
}
}
public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata) {
if (type.equals(ScannerIOMetadata.ACQUIRED)) {
ImagePlus imp = new ImagePlus("Scan", metadata.getImage());
imp.show();
metadata.setImage(null);
try {
new uk.co.mmscomputing.concurrent.Semaphore(0, true).tryAcquire(2000, null);
} catch (InterruptedException e) {
IJ.error(e.getMessage());
// e.printStackTrace();
}
} else if (type.equals(ScannerIOMetadata.NEGOTIATE)) {
ScannerDevice device = metadata.getDevice();
try {
device.setResolution(100);
} catch (ScannerIOException e) {
IJ.error(e.getMessage());
}
/*
* More options if necessary! try{
* device.setShowUserInterface(true);
* device.setShowProgressBar(true);
* device.setRegionOfInterest(0,0,210.0,300.0);
* device.setResolution(100); }catch(Exception e){
* e.printStackTrace(); }
*/
} else if (type.equals(ScannerIOMetadata.STATECHANGE)) {
// IJ.error(metadata.getStateStr());
} else if (type.equals(ScannerIOMetadata.EXCEPTION)) {
IJ.error(metadata.getException().toString());
}
}
} // @jve:decl-index=0:visual-constraint="95,130"
最佳答案
我很清楚....这只是环境问题。
解决方案是,
您可以看到您的驱动软件支持 32 位或 64 位。(C:/windows/twain_32) 或 (C:/windows/twain_64)。twain_32 意味着你应该安装 32 位 java 或 twain_64 意味着你应该安装 64 位 java 环境。
谢谢你
关于java - 英国公司 mmscomputing.device.twain.TwainIOException : Cannot load Twain Source Manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525515/
我们公司使用的一些软件仅接受来自“成像设备”的输入,即 TWAIN 设备(例如扫描仪)。 问题是我们以数字方式接收文件,因此使用实际的扫描仪需要我们打印、扫描和粉碎计算机上已有的文档,但软件中没有。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我想通过Java扫描一些论文。我找到了mm的计算twain库。当我在站点上运行示例 TwainExample.java 时,我收到此错误。 系统信息:windows 7 旗舰版 64 位 - jre
我们有一个集成了第三方扫描组件-Dynam .NET TWAIN的应用程序。我的HP scanjet 5700可以很好地工作。最近,我们得到了Cannon LiDE210,但是它不起作用。我终于注意到
使用 http://delphitwain.sourceforge.net/ 中的 DelphiTwain 文件并且出现一些奇怪的行为。 每次扫描后都会保留更多的内存。 经过一个小时左右的重复扫描后,
我使用 twain 2.1 连接扫描仪。如何设置扫描仪只扫描页面的一部分而不显示扫描仪的预览页面。我使用了source.setRegionOfInterest方法,但它没有完成扫描,扫描仪必须重新启动
我在 twain_32.dll 周围使用自定义 c# 包装器进行扫描,它工作正常。我要搜索的是能够打开 TWAIN 源的默认首选项窗口,类似于使用 DSMident 进行的源选择。这样用户就可以设置默
我必须使用 TWAIN 1.x 界面从扫描仪获取图像 一些旧的扫描仪扫描时间太长,所以我想知道如何通知用户扫描进度。有带有进度条和“取消”按钮的内置弹出窗口,但我想覆盖它。 而不是 TWAIN WIA
我正在尝试设置一个使用 TWAIN 的 C# 应用程序 example from code project 除了我需要将 Form 转换为 IMessageFilter 和调用 IMessageFil
如何在不加载扫描仪管理器的情况下使用 twain 进行扫描?非常感谢。 最佳答案 您可以将 TW_USERINTERFACE 结构的 ShowUI 字段设置为 FALSE。 关于delphi - 关于
是否可以从我的网络应用程序中使用 Flash 访问通用 twain 扫描仪,保存文件并将其上传到我的应用程序中? 我已经通过谷歌进行了一些搜索,但无法找到更多细节。是否有任何预制的解决方案,付费/免费
我的用户倾向于将纸张随机地插入扫描仪进纸器中,并且 A4 的默认设置有时不会剪切它 - 部分图像被剪切掉。我如何告诉 TWAIN 扫描尽可能大的图像? 我正在使用 EZTWAIN 经典版。我找不到合适
你能建议我使用纯好的 API 进行扫描的开源 twain 库吗? 最佳答案 看看Saraff Twain 项目是活跃的并且有一些很好的例子。我在几分钟内实现了它 更新:项目移至 github 关于c#
我正在编写一个需要在 .net 中扫描的应用程序(c# 版本 4.0,Visual Studio 2010)。我正在使用 TWAIN API 进行扫描,但布局功能出现问题。以下代码在 Microtek
我在 C++ 程序中使用 TWAIN 来控制 Epson 扫描仪,并且大部分功能都按预期工作,但有一个异常(exception): 当扫描仪未打开并发送扫描命令时,我从 Epson Scan 收到错误
我必须通过 TWAIN 接口(interface)枚举扫描仪支持的 DPI。 // after Acquire is called... TW_CAPABILITY twCap; GetCapabil
我通过 USB 2.0 将此文档扫描仪连接到 Windows 8.1 Pro 机器,使用 TWAIN 协议(protocol)我现在需要扫描它。 Python27 和 Python Twain 已安装
在 C++ 中,我想使用 TWAIN 库设置以下扫描仪参数:分辨率、窗口位置和直方图设置(阴影、高光、 Gamma 、最大/最小强度)。网络上是否有任何好的示例可以作为我的起点? 顺便说一句,是否有任
我需要将 TWAIN 扫描添加到 Delphi 应用程序中,但无法找到现成的组件来执行此操作。 我下载了 TDelphiTwain,但在 Windows Vista 上的 D2010 中使用时,它似乎
如何在 C# 中使用 WIA 和 Twain? TWIAIN/C# 示例位于 http://www.codeproject.com/KB/dotnet/twaindotnet.aspx在 TwainL
我是一名优秀的程序员,十分优秀!