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技术即可扩展浏览器能力。
用网线连接扫描枪,另外一头连接到网卡上。这样一来,只要在屏幕上,把焦点设置到文本框里,然后扫描枪一扫条码,条码信息就显示在扫描框里了。学习java开发推荐千锋教育,千锋教育采用矩阵式全直营管理模式,现有员工900余人,口碑非常不错。
学习java开发的优势:
1、薪资可观:职业规划公司Gooroo在一份薪资和需求报告中指出,Java仍然是美国、英国和澳大利亚最受欢迎和薪资最高的编程语言之一。
2、Java程序员市场紧缺:据不完全统计,目前国内每年IT人才缺口达20万之多,而且缺口还在扩大,Java作为广泛使用的编程语言,拥有庞大的客户群,现有的人才储备还远远不够,在可预计的未来,Java程序员都将处于供小于求的状态。
3、Java无处不在:据估计,全球范围内有超过30亿部设备运行Java,超过其他任何一种语言。
想要了解更多有关java开发的相关信息,推荐咨询千锋教育。采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行,公司总部位于北京,目前已在20个城市成立分公司,现有教研讲师团队300余人。
扫描枪相当于一个输入设备,类似键盘鼠标,是自触发类型的。
例如条码扫描枪,扫描到可以处理的东西,会响一声,并向链接的设备发送扫描到的信息,比如将光标定到输入框,扫描完成后,输入框就会有扫描到的文本信息。
可以用事件监听输入框的事件,当发生变化时,用程序处理。
如果要深度结合,需要有厂家的接口。或者直接监听扫描枪的接口(如:USB)这个就不太了解了。
我只用过一种扫描枪,有两种模式,一是 用网线连接扫描枪,另外一头是不是连接到网卡上我不记得了,这样一来,只要在屏幕上,把焦点设置到文本框里,然后扫描枪一扫条码,条码信息就显示在扫描框里了,我用的枪甚至还可以扫描之后再触发一个按钮点击事件,直接把内容在网页上提交。第二种模式是连接COM口,扫描的数据字节流通过COM发送给电脑,然后我通过JAVA一个外部jar包,监听指定的COM口发的数据流,就可以得到数据了。我从来没想过用按钮事件来触发扫描枪,得看看你用的牌子的扫描枪是否提供了这种程序接口。
上面啰嗦了一堆哈。
根据你说的这些,你要看看你用的枪是否支持COM口传递数据,然后找一下JAVA访问COM口的方法吧。从com口里得到数据之后,显示在什么地方就很容易了。呵呵
来自:求助得到的回答
一般,扫描枪是像键盘那样的接口,即是说,打开Notepad,就可以收到扫描的数据的。
也就是在JAVA中当键盘事件去接收数据 ,也可以使用TextField去接收
~
~
~