日期:2014-05-20  浏览次数:20721 次

大厅自助终端,读取身份证信息
大家好,小弟最近接手一个项目,是这样的:
用java做。项目部署在办事大厅的有触摸屏的自助终端机上,机子有身份证阅读器,可以扫描到身份证,然后我程序读取这些身份信息,再作处理。
我的问题是:
1、客户已经买好了终端机了,根据他的型号,我发现这个型号的阅读器不支持java去读取,只能vc/vb/delphi,这样的话,如果在普通电脑上,那也没关系,我用vc去读取信息,将vc程序编译为dll,然后java再去调dll就是了。 但现在环境是自助终端机,不知道还能不能这么做?不知道这种机子装的是什么系统。
有相关经验的朋友了解么?用java做这玩意可行么?我打算用swing做的。

2、要实现客户刷身份证后,程序即刻能读取阅读器扫描到的信息,在程序中必然要有一个监听程序时时刻刻监听着阅读器吧?如果项目用vc做,那没问题,vc监听着就是了。但现在是java去调用vc写出来的dll,这怎么监听呢?

谢谢各位

------解决方案--------------------
我在学习Delphi,我感觉可以把所有针对终端机的操作都封装到一个ActiveX控件里去,然后用java刷新控件的属性,这样不知道可以实现不?
------解决方案--------------------
所谓自助终端,大多都是里面塞了台电脑,至于操作系统,大多用的是XP;
不过具体还是要联系厂商问问,客户既然买了,肯定是有售后服务的,你以客户名义直接联系就行。

一般读卡有两种方式:
1、模拟键盘:这种情况下,身份证识别器实际上把自己虚拟成一个键盘,用户滴身份证的时候,Java应用程序就会收到一串数字(对程序来说,跟从键盘直接输入没有任何区别);
2、调用:这种情况下,身份证识别器缺省是待命的,也没法滴身份证;程序调用其驱动后,驱动就会激活识别器,然后等待用户滴身份证,然后再把结果传回来;这个过程是阻塞线程的,所以程序最好独立启动一条线程来调用它。

还是一样的,不用自己去猜,直接以客户名义联系厂商售后,问他是否可以用“模拟键盘”,这种方式对程序开发来说最简单。不行就问有啥其它手段了,这种问题厂商有义务解决的。