本人是新人,目前遇到了一些麻烦,请大家赐教: 扫描二代身份证时,如何将姓名,家庭住址,身份证号能够在jsp页面中显示出来 居民身份证阅读器GTICR-100 成都国腾
目前有的java代码:
//Termb.javaimport com.sun.jna.*;
import com.sun.jna.win32.*;public interface Termb extends StdCallLibrary
{
public static class IdCardTxtInfo extends Structure
{
public byte[] name=new byte[31];
public byte[] Sex=new byte[6];
public byte[] nation=new byte[11];
public byte[] borndate=new byte[9];
public byte[] address=new byte[71];
public byte[] idno=new byte[19];
public byte[] department=new byte[31];
public byte[] StartDate=new byte[9];
public byte[] EndDate=new byte[9];
public byte[] Reserve=new byte[37];
public byte[] AppAddress1=new byte[71];
} void InitFilePath(String szPath);
int InitComm(int iPort);
int Authenticate();
int Read_Content(int iActive);
int GetIdCardTxtInfo(IdCardTxtInfo result);
int CloseComm();
}
//-----------------LoadTermb.java
//LoadTermb.javaimport java.io.*;
import com.sun.jna.*;public class LoadTermb
{
public static void main (String [] args)
{
Termb lib = (Termb) Native.loadLibrary ("termb", Termb.class);
Termb.IdCardTxtInfo info = new Termb.IdCardTxtInfo();
lib.InitFilePath("c:\\test\\");
if (lib.InitComm(1) != 1){
System.out.println ("InitComm error!");
}
lib.Authenticate();
if (lib.Read_Content(1) != 1){
System.out.println ("Read_Content error!");
}
lib.GetIdCardTxtInfo(info);
System.out.print ("Name is ");
try{
System.out.println(new String(info.name, "gb2312"));
}catch(IOException e){
e.printStackTrace();
}
}
}
目前有的java代码:
//Termb.javaimport com.sun.jna.*;
import com.sun.jna.win32.*;public interface Termb extends StdCallLibrary
{
public static class IdCardTxtInfo extends Structure
{
public byte[] name=new byte[31];
public byte[] Sex=new byte[6];
public byte[] nation=new byte[11];
public byte[] borndate=new byte[9];
public byte[] address=new byte[71];
public byte[] idno=new byte[19];
public byte[] department=new byte[31];
public byte[] StartDate=new byte[9];
public byte[] EndDate=new byte[9];
public byte[] Reserve=new byte[37];
public byte[] AppAddress1=new byte[71];
} void InitFilePath(String szPath);
int InitComm(int iPort);
int Authenticate();
int Read_Content(int iActive);
int GetIdCardTxtInfo(IdCardTxtInfo result);
int CloseComm();
}
//-----------------LoadTermb.java
//LoadTermb.javaimport java.io.*;
import com.sun.jna.*;public class LoadTermb
{
public static void main (String [] args)
{
Termb lib = (Termb) Native.loadLibrary ("termb", Termb.class);
Termb.IdCardTxtInfo info = new Termb.IdCardTxtInfo();
lib.InitFilePath("c:\\test\\");
if (lib.InitComm(1) != 1){
System.out.println ("InitComm error!");
}
lib.Authenticate();
if (lib.Read_Content(1) != 1){
System.out.println ("Read_Content error!");
}
lib.GetIdCardTxtInfo(info);
System.out.print ("Name is ");
try{
System.out.println(new String(info.name, "gb2312"));
}catch(IOException e){
e.printStackTrace();
}
}
}
你只要把你的main方法改成一个返回实体的方法,
在servlet或action里调用,再把几结果放到request,或session里,就好了呀