导航:首页 > 编程语言 > java调用扫描仪

java调用扫描仪

发布时间:2022-07-25 08:52:49

java停止扫描恢复扫描

调用扫描仪再次打开。
先搞清楚要在哪种类型的程序中调用扫描仪如果开发的程序是java application或者基于 swing的程序,可以算作是单机或者 c/s架构的程序,applet和java fx技术也可以这么算,因为都是直接通过java程序去操控扫描仪设备,如果是基于浏览器的应用,即b/s架构的程序,扫描图像的工作是在客户端完成的,这种情况下Java程序其实是接收和保存扫描仪读取的图像结果,并不需要直接的控制扫描仪工作,这一点上和c/s架构的程序有本质的区别。

⑵ 安装扫描仪问题!!!急急急!!!!

一、扫描仪正确安装步骤
请您做以下步骤:
1、请先卸载方正扫描仪驱动程序 (如果是第一次安装请忽略此步骤)
2、将方正扫描仪与电脑断开连接
3、将方正扫描仪软件安装光盘放进光盘驱动器安装驱动程序及相关软件
4、重新启动您的计算机
5、将方正扫描仪与电脑进行连接
6、在弹出的发现新硬件的对话框里选择自动寻找驱动程序
7、提示微软认证标志的时候选择“仍然安装”(Windows98除外)
8、重新启动您的计算机

二、当扫描仪无法与计算机创建联机时的处理方法
在扫描仪与计算机断开的情况下,先将扫描仪的驱动安装到计算机上,重新启动计算机,同时,将扫描仪与计算机连接好,如报“方正扫描精灵无法与计算机创建联接”时进行下列操作:
当你的系统是WIN98或WINME时,到计算机的“控制面板”内找到“系统”,找到“设备管理器”,查看设备列表是否有标有黄色问号的“USBSCANNER”的其它设备,如有请将其删除后,重新启动计算机。
当你的系统是WINXP或WIN2000时,到计算机的“控制面板内”,找到“系统”(有时会在性能与维护内),打开它,找到“硬件”,打开“硬件”,点击“设备管理器”,查看“设备列表”,首先查看有无“图象处理设备”,如有请对其下面的标有黄色惊叹号的扫描仪设备,进行更新驱动程序的操作,请按推荐的模式进行下一步操作,如遇报没有经过微软的数字签名或徽标测试,请继续,直到对其完成硬件设置,点击完成。如没有图象处理设备,请查看有无标有黄色问号的“其它设备”,如有,请对其下面的USB的设备进行上述操作。

三、方正扫描仪无法卸载的解决方法!
单击“开始”, 点击“运行”
输入“regedit”点击“确定”
展开[HKey_Local_Machine]
展开[Software]
展开[Microsoft]
展开[Windows]
展开[Current Version]
展开[Uninstall]
找到文件夹{82CE2910-50B6-4EC1-A21C-9D7E2424F0AB}, 然后删除.
关闭注册表编辑器,重新启动电脑。
注:F5180/F5180+/F8180+/F6688是“方正扫描仪驱动程序”
Z310的为{E1CC7AFA-591E-4C0A-8719-1418664A264B}

四、安装程序启动安装引擎失败:不支持此接口的解决方法
在WIN2000或XP下安装软件时,有时会提示“安装程序启动安装引擎失败:不支持此接口”,导致无法安装,解决方法于下。
方法一:是否具有管理员的权限
方法二:可能是系统文件损坏或被修改,请尝试用SFC命令修复一下。(sfc /SCANNOW)
方法三:装了ACDSEE5.0(特别是迷你中文版),有时会导致这种现象,请卸掉5.0,找个其它版本(如4.0)的装一下。
方法四:有的软件安装需要windows installer支持,一般解决方法为:在控制面板->管理工具->服务中,找到windows installer服务,把启动类型改为手动,然后启动即可。记住在安装好程序后将此服务停止。如果仍然存在问题,请到微软站点下载最新的windows installer 2.0版。
方法五:安装文件是单线程的,查看正在运行的进程,如果里面有ikernel.exe,则表示现在无法安装,结束此进程,然后再安装就OK了。
方法六:因为NORDON杀毒软件会把INSTALL SHIELD 那个ikernel.exe文件误认为病毒。退出防火墙,重新启动,就好了。
方法七:入系统所在分区program files -> common fiels -> installshield -> engine -> 6 - >intel32,把这个文件夹中的文件全部删除(或直接把engine整个文件夹都删了),重新启动,然后再安装就OK了。
方法八:安装NORTON SYTEMWORKS 2003,用它的WINDOCTOR自动修复,然后用了NORTON SYTEMWORKS的ONE BUTTON CHECKUP,重起,一切OK。
方法九:现在的好多的软件的安装程序都不是exe的而是msi,而msi是一种新的安装程序的脚本文件。就算有的安装程序是exe的但在它的安装目录里也有个msi文件,实际上是exe调用msi文件来安装程序的。msi是脚本文件,实际上真正运行脚本文件的是“msiexec.exe”它就是一切问题的原因。需要安装
instmsiw.exe这个文件,instmsiw.exe是一个压缩包里面包括了所有关于运行msi所需要的文件。运行后问题就可解决了。 五、RPC 占位程序错误: "不兼容的 RPC 占位程序版本" "未处理的异常。错误编号:0x80070725"的解决方法
请浏览http://www.java.com/zh/download/help/rpcstub.jsp

六、错误代码0x80040707的解决方法
请浏览http://consumer.installshield.com/kb.asp?id=Q108167

七、驱动程序安装程序无法安装设备驱动程序
症状
安装了重要更新程序 QFE 814033 或 Microsoft Windows 2000 Server Service Pack 4 后,某些驱动程序安装程序无法在 Microsoft Windows 2000 上工作。安装操作无法成功完成,同时您会收到一条不正确的错误信息,告诉您没有可用于该设备的驱动程序。%WINDIR%\Setupapi.log 报告此设备没有兼容的驱动程序。
原因
如果默认的 INF 目录中已经存在要安装的驱动程序的 .inf 文件,就会出现此问题。然而,要安装的驱动程序并非 当前已安装的设备驱动程序。
您尝试安装的新驱动程序的 .inf 文件可能已经由 SetupCopyOEMInf() 函数放置在 INF 目录中,或者这个驱动程序以前曾被安装又被删除,留下了 .inf 文件。在这种情况下,() 函数将无法成功运行,同时将错误地给出设备没有驱动程序这条错误信息。
解决方案
从 Microsoft 下载中心可以下载以下文件:
Windows2000-KB822831-x86-CHS.exe 程序包。 发布日期:2003 年 8 月 13 日

八、“IKERNEL.EXE - 应用程序错误: 无法读取内存”的解决方法
请浏览http://java.com/zh/download/help/ikernel.jsp

九、安装过程中出现提示:安装设备时,出现了一个错误。名称已用作服务名或服务显示名。
打开注册表编辑器,找到下面主键
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6bdd1fc6-810f-11d0-bec7-08002be2092f}
找找与你包含你的扫描仪型号的键值,找到后把它删除掉试试,如果还不行再找HEEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\,看下面有没有你的扫描仪型号的键值,同样,找到后删除掉,如果还不行,重新安装你的操作系统吧

十、出现“扫描仪较准中,请稍候”,然后死机,扫描头不走的问题解决方法
扫描仪的自动锁没有被完全压下去,此时您应该重起计算机(如果计算机已经死机的话),将扫描仪放置比较平的桌面或找一小块比较硬的薄片垫在自动锁下方,然后重新扫描!

十一、 在WIN2003系统下按下面的方法安装:
1、将光盘放入光驱,不使用自动开启的窗口,将其关掉。
2、在我的电脑里打开光盘目录(在光盘上单击鼠标右键选打开,否则双击有可能还是自动运行)
3、找到setup.exe或者install.exe文件,注意是扫描仪驱动安装文件,不是主目录文件。也就是说,本身打开该文件是可以弹出单一的安装扫描仪驱动的哪个文件。
4、在该文件上点鼠标右键选择“属性”,切换到“兼容性”一项,在兼容模式中打勾并选择windows2000。确定退出。
5、双击该文件安装扫描仪驱动,以后步骤和以前在windows2000、XP下一样。
6、正常启动后就可以扫描了。

十二、电源适配器容易坏的问题
在国家规定的3C标准中要求电源适配器要带有温度、电流保护,以保护电流或电压过大时对设备的损坏,在方正2003年3月以后生产的机器中都是使用的通过3C了的电源适配器,此类电源适配器一般的温度控制上限是115度,在一般情况下是不会出现问题的,但是在实际使用中却出现很多温度过高导致电源适配器坏掉的情况,我们通过了很长一段时间的调查和发现才找到了原因有几个方面:
1、某些地区的电压不稳定,无法提供标准的220V,致使电源适配器工作时电流要比额定时高,导致发热量过大。
2、用户的电源适配器放置的位置,一些用户电脑的外设比较多,都是通过电源适配器供电,而这些电源适配器大多都放在一个接线板上,在加上通风不是很好,导致局部急速温度急速上升,当一个电源适配器单独工作时温度才50度左右,而4个放在一起的时候,1小时内温度可以达到100度,如果加上不通风,局部的温度是很高的。
针对上面的情况,我们对电源适配器的设计做了更改,以适合家庭的工作环境,并且对我们的扫描仪的电源适配器提供1年质保,只要您的电源出现的问题,您就可以凭购机发票在当地的维修站进行更换。您在使用时注意几点:
1、在不使用扫描仪的时候将电源适配器从插座上拔下,因为部分电源适配器是线圈式的,只要接上电就开始工作。
2、将电源适配器放置比较通风的地方,尽量不要将大量的电源适配器放置同一个接线板上。

⑶ java中怎么调用扫描仪

1。先搞清楚要在哪种类型的程序中调用扫描仪
如果开发的程序是java application或者基于 swing的程序,可以算作是单机或者 c/s架构的程序,applet和java fx技术也可以这么算,因为都是直接通过java程序去操控扫描仪设备。
如果是基于浏览器的应用,即b/s架构的程序,扫描图像的工作是在客户端完成的,这种情况下Java程序其实是接收和保存扫描仪读取的图像结果,并不需要直接的控制扫描仪工作,这一点上和c/s架构的程序有本质的区别。
2。架构与技术应用
2.1 c/s架构程序的扫描仪调用
c/s架构需要通过java代码直接操控扫描仪设备,java语言本身被设计为跨o/s平台,对特定平台的硬件操控能力有限,因此需要借助外部技术实现扫描仪控制调用,可以通过jni(java原生应用程序接口) 技术去实现扫描仪调用,具体的细节实现就是jni中定义扫描仪操作方法,如scan()等方法,然后使用javah生成c语言的.h头文件,然后使用vc等编程语言去实现jni接口方法。
在windows平台和mac平台上面,操作扫描仪都可以通过twain协议
总之c/s架构的java程序调用扫描仪通过jni+twain编程既可完成。
2.2 b/s架构程序的扫描仪调用
b/s架构的扫描仪调用在前面已经提到过,java程序实现上做的事情是接收扫描结果图像数据 ,例如在struts2的 action中或者jsp/servlet等等程序中接收扫描仪图像扫描结果,真实的客户端扫描仪调用应该借助客户端技术去实现。
在Linux中的Mozilla浏览器中如何调用扫描仪扫描图像呢?这个着实是个难题,需要做Mozilla的插件才可以,但是在windows平台有ActiveX技术供程序员使用,因此浏览器是在windows平台中的话借助Activex技术即可扩展浏览器能力。

⑷ 驱动程序的通俗化解释,怎么解释。

可以理解为操作硬件的接口

比如 你的程序需要发出一段音乐 那么要调用声卡来产生声音 . 而windows负责操作这个声卡时就需要调用声卡的驱动程序. 当然了 WINDOWS 是自带不少东西的驱动的. 当一些WINDOWS不自带驱动的东西插电脑上时 比如扫描仪 那么你的程序想调用扫描仪的时候 , 就需要启动扫描仪这个硬件 . 但是 WINDOWS 并不能识别扫描仪 所以 就需要有一个用来给电脑看的说明书来告诉电脑扫描仪怎么用的. 而这个说明书 就指驱动程序

JDBC驱动 只是上面的一种变通 因为不是操作硬件 , 但是 是为了给java提供一个操作数据库的接口 . 所以也可以称之为驱动程序.

⑸ Java中我理解的Scanner类的作用,各位高手看下有没理解错误

Scanner类确认具体的某个对象后,就变为具体的某个扫描仪
这样的想法是正确的,说明你已经有了面向对象的概念了

如Scanner a = new Scanner();()里的变量就是扫描仪要扫描的对象,且一定为字符串。
这个不太准确。所有的scanner构造方法都调用的是一个Readable的源(可以理解为你上面放入扫描仪的物)这个源不一定是字符串,可以是字符串,输入流,信道,指定源等)。
还有一个Pattern.它是使用正则表达式来分析输入源的内容(

⑹ JAVA怎么获取扫描仪器扫描的数据

每种OCR引擎提供了其各自的SDK,并且每种都有详细的API使用说明。我曾经使用过文通(DLL,在VB中Declare)、Fujitsu(提供OCX控件)、ReadIRIS(OCX,不过VB调用用问题,使用VC++重新封装OK)。 简单以FUjitsu为例:
1、工程中引用组件Fujistu TWIJOcr,将控制面板上出现的控件TWIJOcr添加到Form中
2、Form_load时初始化词典TWIJOcr1.CreateDictData
3、载入图像(可使用Kodak Imaging控件imgedit显示图像)
4、设置总页、图像对象,使用控件方法RecogText识别,保存输出结果等:
TWIJOcr1.TotalPage = 1
TWIJOcr1.ChangeCurrentPage 1, LoadPicture(inPict)
TWIJOcr1.RecogText
TWIJOcr1.SaveFileName = outText
TWIJOcr1.SaveFileType = 0
TWIJOcr1.SaveResult

⑺ java 怎样自动调用富士通扫描仪

首先要了解接口、再看是否标准的硬件驱动、或厂商是否提供驱动。。。。。。。。。如果没有JAVA的,就使用JNI调用

⑻ 怎样用java调用扫描仪

下载一个jar包,放在lib目录下面,然后再把这个jar加入到项目里面就可以了,右键add as libary,就可以引用源代码了

⑼ 用Java直接从扫描仪获得扫描数据,然后上载到服务器上,这样的程序需要利用那些知识点(有关Java)

package e.ctgu.JTwacker;

import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;

import e.ctgu.twain.JTwain;
/*
这是显示扫描图片的frame
*/
public class JTwacker extends JFrame {

class JPEGPanel extends JPanel {

/** Image for the inner class
*/
protected BufferedImage mJPEGPanelBufferedImage;

/** Pnale to diaply the image
*/
public JPEGPanel() {
// no op
}

/** Sets the bufferedimage into the class
* @param bi BufferedImage
*/
public void setBufferedImage(BufferedImage bi) {
if (bi == null) {
return;
}
mJPEGPanelBufferedImage = bi;
Dimension d = new Dimension(mJPEGPanelBufferedImage.getWidth(this),
mJPEGPanelBufferedImage.getHeight(this));
setPreferredSize(d);
revalidate();
repaint();
}

/** Paints the component.
* @param g Graphics object used for the painting
*/
public void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension d = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, d.width, d.height);
if (mJPEGPanelBufferedImage != null) {
g.drawImage(mJPEGPanelBufferedImage, 0, 0, this);
}
}
}

protected JPEGPanel mJpegPanel;

protected BufferedImage mBufferedImage;

protected JComboBox mSourcesCombo;

protected JToolBar mToolBar;

/** Constructor
*/
public JTwacker() {
super("测试");

mJpegPanel = new JPEGPanel();
JScrollPane ps = new JScrollPane(mJpegPanel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
getContentPane().add(ps, BorderLayout.CENTER);

WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
addWindowListener(wndCloser);

mToolBar = new JToolBar("Twain");
mToolBar.setFloatable(false);
addButtons();
getContentPane().add(mToolBar, BorderLayout.NORTH);
setSize(800, 600);

/* Center the frame */
Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle frameDim = getBounds();
setLocation(
(screenDim.width - frameDim.width) / 2,
(screenDim.height - frameDim.height) / 2
);
setVisible(true);
}

protected void addButtons(){

JButton _ab = new JButton("扫描");
_ab.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
acquireImage();
}
});
mToolBar.add(_ab);
mToolBar.addSeparator();

if (e.ctgu.twain.JTwain.getInstance().isTwainAvailble()) {
String[] twainSources = JTwain.getInstance().getAvailableSources();
if (twainSources != null) {
mSourcesCombo = new JComboBox(twainSources);
} else {
mSourcesCombo = new JComboBox();
mSourcesCombo.addItem("<NONE AVAILABLE>");
}
} else {
mSourcesCombo = new JComboBox();
mSourcesCombo.addItem("<NONE AVAILABLE>");
}
mToolBar.add(mSourcesCombo);
}

protected void acquireImage() {
if (JTwain.getInstance().isTwainAvailble()){
if (mSourcesCombo.getItemCount() > 0 ){
String _source = (String)mSourcesCombo.getSelectedItem();
if (_source != null){
String _filename = JTwain.getInstance().acquire(_source);
System.out.println(_filename);

if (_filename != null && _filename.length() > 0) {
File fChoosen = new File(_filename);
// savetofile(fChoosen);
showImage(fChoosen);
} else {
System.out.println("哎呀,怎么出错了!");
}
} // end if
} // end if
} // end if
}

protected void showImage(final File file) {
if (file == null || !file.exists()) {
return;
}
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

Thread runner = new Thread() {
public void run() {
try {
FileInputStream in = new FileInputStream(file);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
mBufferedImage = decoder.decodeAsBufferedImage();
in.close();
SwingUtilities.invokeLater( new Runnable() {
public void run() {
reset();
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
setCursor(Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR));
}
};
runner.start();
}

//把扫描得到的图片保存为文件,然后上传到服务器或保存到数据库中
protected void savetofile(final File file) {
try {
File mfile=new File("c:\\dd.jpg");
if (mfile.exists()) {
mfile.delete();
}else {
file.renameTo(mfile);
}

} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}

protected void reset() {
if (mBufferedImage != null) {
mJpegPanel.setBufferedImage(mBufferedImage);

}
}

public static void main(String argv[]) {
new JTwacker();
}

}

-------------------------

package e.ctgu.twain;

/*
这是调用动态链接库的类
*/
public class JTwain {

private static final JTwain mInstance = new JTwain();
protected final String DLL_NAME = "jtwain";

private JTwain() {
initLib();
}

public static JTwain getInstance(){
return mInstance;
}

public native boolean isTwainAvailble();

public native String[] getAvailableSources();

public native String acquire();

public native String acquire(String sourceName);

private void initLib(){

try {

System.loadLibrary(DLL_NAME);
}catch(Exception e) {
e.printStackTrace();
}

finally {
// System.out.println("Loading : " + DLL_NAME + ".dll");
}
}
}

阅读全文

与java调用扫描仪相关的资料

热点内容
程序员搞笑花名 浏览:501
dota2怎么设置国服服务器地址 浏览:212
单片机高电平驱动 浏览:115
ios多选文件夹 浏览:909
加强行车调度命令管理 浏览:243
服务器已禁用什么意思 浏览:150
部队命令回复 浏览:755
神奇宝贝服务器地图怎么设置 浏览:382
加密算法输出固定长度 浏览:862
程序员去重庆还是武汉 浏览:121
服务器如何撤销网页登录限制 浏览:980
微信公众平台php开发视频教程 浏览:628
怎么看苹果授权绑定的app 浏览:255
压缩机单级压缩比 浏览:380
linux测试php 浏览:971
什么时候梁旁边需要加密箍筋 浏览:40
微信清粉软件源码 浏览:717
matlabdoc命令 浏览:550
如何去ping服务器 浏览:75
ecshop安装php55 浏览:817