神思SS628(100)型第二代身份证验证阅读机具二次开发

神思SS628(100)型第二代身份证验证阅读机具二次开发神思SS628(100)型第二代身份证验证阅读机具是神思电子一款经典产品B/S项目中需要读取个人的身份信息进行登记,为了提高效率,选择了神思电子的神思SS628(100)型第二代身份证验证阅读机,具体使用步骤如下:首先下载驱动包,由于该功能也是基于ocx插件进行交互的,,所以要先安装驱动下面提供下载地址:根据自己的系统型号进行安装链接:https://pan.baidu.com/s/15…

大家好,又见面了,我是你们的朋友全栈君。

神思SS628(100)型第二代身份证验证阅读机具是神思电子一款经典产品

在这里插入图片描述

B/S项目中需要读取个人的身份信息进行登记,为了提高效率,选择了神思电子的神思SS628(100)型第二代身份证验证阅读机,

具体使用步骤如下:

首先下载驱动包,由于该功能也是基于ocx插件进行交互的,,所以要先安装驱动

下面提供下载地址:根据自己的系统型号进行安装

链接:https://pan.baidu.com/s/15uecO4aCmM_Jq76uXDOi8A
提取码:z1g8

同时产家也提供了B/S下的Demo进行测试

下载地址:

链接:https://pan.baidu.com/s/1V47BvjmBHw7L8QywF3E_1Q
提取码:9yg2

<HTML>
<H1  style = "color:#0000A0;" align=center ><font size="6">      神思第二代身份证验证系统——支持U口/串口</font></H1>
<style type="text/css">
<!--
.STYLE1{ 
   
    font-family:"方正宋体-人口信息";}
.S1 { 
   
    width:1002px;
    margin:0 auto;
    color:#01c;
    border:0;}
.S1 table{ 
   
    border:1px solid #707070;}
-->
</style>
<HR><center>
<OBJECT
      classid="clsid:F1317711-6BDE-4658-ABAA-39E31D3704D3"                  
      width=390
      height=300
      align=center
      hspace=0
      vspace=0
      id=idcard
      name=rdcard    
>
</OBJECT>
  <body  onbeforeunload="Unload()" >
    <table width="680" border="0">
      <tr>
        <td><input type="button" value="打开机具"         style="width:140px;"    name="myopen"    onclick="myopen_onclick()"   /></td>
        <td><input type="button" value="关闭机具"         style="width:140px;"    name="myclose"   onclick="myclose_onclick()"  /></td>
        <td><input type="button" value="开始读卡"         style="width:140px;"    name="beginread" onClick="beginread_onclick()"/></td>
        <td><input type="button" value="等待读卡"         style="width:140px;"    name="read3"     onclick="read3_onclick()"    /></td>
        <td><input type="button" value="停止读卡"         style="width:140px;"    name="endread"   onclick="endread_onclick()"  /></td>
      </tr>
      <tr>
        <td><input type="button" value="手动读卡"         style="width:140px;"  name="handread"  onclick="handread_onclick()"/></td>
        <td><input type="button" value="保存身份证图片"   style="width:140px;"  name="SaveCard"  onclick="SaveCard_onclick()"/></td>
        <td><input type="button" value="读设备模块号"     style="width:140px;"  name="ReadsNum"  onclick="ReadsNum_onclick()"/></td>
        <td><input type="button" value="设置文件路径"     style="width:140px;"  name="savepath"  onclick="savepath_onclick()"/></td>
            <td><input type="button" value="清空所有属性"     style="width:140px;"  name="MyClear"   onClick="MyClear_onclick()"/></td> 
      </tr>
    </table>
      <form name=tcard>
       <table class="s1" >
          <tr>
            <td width="12%" ><IMG height=126 alt="" width=102 border=0 name=photo id=jpgfile style="left:10px;"></td>
            <td>
                <table width="820" border="1" style="color:#0011CC"  >
                  <tr>
                    <td align="right">提示信息</td>
                    <td><input name="tResult" type="text" size="40" /></td>
                    <td align="right">设备模块号</td>
                    <td><input name="tsNum" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">证件类型标识</td>
                    <td><input name="tCardType" type="text" size="40" /></td>
                    <td align="right">证件类型</td>
                    <td><input name="tCardT" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">姓名name</td>
                    <td><input name="tName" type="text" size="40" /></td>
                    <td align="right">姓名nameL</td>
                    <td><input name="tNameL" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">性别sex</td>
                    <td><input name="tSex" type="text" size="40" /></td>
                    <td align="right">性别sexL</td>
                    <td><input name="tSexL" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">民族nation</td>
                    <td><input name="tFolk" type="text" size="40" /></td>
                    <td align="right">民族nationL</td>
                    <td><input name="tFolkL" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">出生Born</td>
                    <td><input name="tBirth" type="text" size="40" /></td>
                    <td align="right">出生BornL</td>
                    <td><input name="tBirthL" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">公民身份号码</td>
                    <td><input name="tcardID" type="text" size="40" /></td>
                    <td align="right">住    址</td>
                    <td><input name="tAddr" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">最新住址</td>
                    <td><input name="tnewAddr" type="text" size="40" /></td>
                    <td align="right">签发机关</td>
                    <td><input name="tIssue" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">有效期限</td>
                    <td><input name="tBeginEnd" type="text" size="40" /></td>
                    <td align="right">有效期限L</td>
                    <td><input name="tBeginEndL" type="text" size="40" /></td>
                  </tr>
                   <tr>
                    <td align="right">通行证号码</td>
                    <td><input name="tPassPortId" type="text" size="40" /></td>
                    <td align="right">签发次数</td>
                    <td><input name="tSignCount" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">头像JPG</td>
                    <td><input name="jbuff" type="text" size="40" /></td>
                    <td align="right">头像BMP</td>
                    <td><input name="bbuff" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">头像JPGroot</td>
                    <td><input name="jroot" type="text" size="40" /></td>
                    <td align="right">头像BMProot</td>
                    <td><input name="broot" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">指纹特征值1</td>
                    <td><input name="Fchar1" type="text" size="40" /></td>
                    <td align="right">指纹特征值2</td>
                    <td><input name="Fchar2" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">指位信息1</td>
                    <td><input name="FNUM1" type="text" size="40" /></td>
                    <td align="right">指位信息2</td>
                    <td><input name="FNUM2" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">指纹质量1</td>
                    <td><input name="Fzl1" type="text" size="40" /></td>
                    <td align="right">指纹质量2</td>
                    <td><input name="Fzl2" type="text" size="40" /></td>
                  </tr>
                  <tr>
                    <td align="right">指纹注册结果1</td>
                    <td><input name="Fzhuce1" type="text" size="40" /></td>
                    <td align="right">指纹注册结果2</td>
                    <td><input name="Fzhuce2" type="text" size="40" /></td>
                  </tr>
                </table>
             </td>
       </tr>
     </table>

    </form>
  </body>

<script for=idcard event="Readed()">
      //alert('Readed');
      var ss;
      getinfo_onclick();
</script>

<script for=idcard event="Closed()">
      //window.close();
</script>

<script for=idcard event="Opened()">
      //window.close();
</script>

<SCRIPT>


      function SaveCard_onclick(){ 
   
    var  pp
    if(ss=="J")
    { 
   
        document.getElementsByName("tResult")[0].value="港澳台居民居住证暂不支持保存正反面照片";
        return;
    }
    pp = rdcard.ExportBMP("D:\\"); 
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="保存成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="保存失败: "+pp;
        }
    }

    function myopen_onclick(){ 
   
    var  pp ;
    pp=rdcard.openport();
        //alert(pp);
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="openport成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="openport失败: "+pp;
        }    
    }    
        
    function myclose_onclick(){ 
   
    var  pp
    pp=rdcard.closeport();
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="closeport成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="closeport失败: "+pp;
        }        
    }
        function Unload(){ 
   
        MyClose_onclick();
        //alert("Page is Close");
    }

    function endread_onclick(){ 
   
    var  pp
    pp=rdcard.endread();
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="endread成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="endread失败: "+pp;
        }        
    }

    function handread_onclick(){ 
    
        
    var  pp
    pp=rdcard.readcard();
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="readcard成功";
            //showjpg_onclick();
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="readcard失败: "+pp;
        }
    }
    
    function beginread_onclick(){ 
   
        
    var  pp
    pp=rdcard.ReadCard2();
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="ReadCard2成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="ReadCard2失败: "+pp;
        }
    }
    function read3_onclick(){ 
   
        
    var  pp
    pp=rdcard.ReadCard3();
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="ReadCard3成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="ReadCard3失败: "+pp;
        }
    }
    
    function ReadsNum_onclick(){ 
   
    var  pp
    pp = rdcard.ReadSecurityNum();
    if(pp==0)
        { 
   
            document.getElementsByName("tsNum")[0].value=rdcard.SecurityNum;    
            document.getElementsByName("tResult")[0].value=rdcard.sResultMsg;
        }
        else
        { 
   
            document.getElementsByName("tsNum")[0].value="读模块号码失败";    
            document.getElementsByName("tResult")[0].value="读模块号码失败: "+pp;
        }
    }
    

    function showjpgIE6(){ 
   
        //alert('读照片成功');
        document.getElementsByName("photo")[0].src = "file:///C|/null.JPEG";

    if(rdcard.PhotoPath == "")  
      document.getElementsByName("photo")[0].src = "file:///C|/null.JPEG";
    else     
      document.getElementsByName("photo")[0].src = rdcard.PhotoPath    ;    
    }
    function showjpgIE8(){ 
   
        //alert('读照片成功');
        document.all['photo'].src  = 'data:image/jpeg;base64,' + rdcard.JPGBuffer;    
    }


     function getinfo_onclick(){ 
   
    var  r1,r2;
    document.getElementsByName("tName")[0].value=rdcard.NameS;
    document.getElementsByName("tNameL")[0].value=rdcard.NameL;
    document.getElementsByName("tSex")[0].value=rdcard.Sex;
    document.getElementsByName("tSexL")[0].value=rdcard.SexL;
    document.getElementsByName("tFolk")[0].value=rdcard.Nation;
    document.getElementsByName("tFolkL")[0].value=rdcard.NationL;
    document.getElementsByName("tBirth")[0].value=rdcard.Born;
    document.getElementsByName("tBirthL")[0].value=rdcard.BornL;
    document.getElementsByName("tcardID")[0].value=rdcard.CardNo;
    document.getElementsByName("tAddr")[0].value=rdcard.Address;
    document.getElementsByName("tnewAddr")[0].value=rdcard.newAddress;
    document.getElementsByName("tIssue")[0].value =rdcard.Police;
    document.getElementsByName("tBeginEnd")[0].value=rdcard.Activity;
    document.getElementsByName("tBeginEndL")[0].value = rdcard.ActivityL;
    document.getElementsByName("tPassPortId")[0].value = rdcard.PassPortId;
    document.getElementsByName("tSignCount")[0].value = rdcard.SignCount;
    document.getElementsByName("jroot")[0].value=rdcard.JPGfile;
    document.getElementsByName("broot")[0].value=rdcard.BMPfile;
    document.getElementsByName("jbuff")[0].value=rdcard.JPGBuffer;
    document.getElementsByName("bbuff")[0].value=rdcard.BMPBuffer;
    document.getElementsByName("Fchar1")[0].value=rdcard.FGchar1;
    document.getElementsByName("Fchar2")[0].value=rdcard.FGchar2;
    document.getElementsByName("tCardType")[0].value=rdcard.CardType;
    if(rdcard.bHaveCard == "1")
    { 
   
        if(rdcard.CardType == "I")
        { 
   
            document.getElementsByName("tCardT")[0].value="外国人永久居留证";
            ss=rdcard.CardType;
        }
        else if (rdcard.CardType == "J") { 
   
            document.getElementsByName("tCardT")[0].value = "港澳台居民居住证";
            ss=rdcard.CardType;
        }
        else
        { 
   
            document.getElementsByName("tCardT")[0].value="二代身份证";
            ss=rdcard.CardType;
        }
    }
    else
    { 
   
        document.getElementsByName("tCardT")[0].value="";
        ss=rdcard.CardType;
    } 
    
    r1 = rdcard.FGNUM1;
    r2 = rdcard.FGNUM2;
    switch(r1)
    { 
   
    case 11:
      document.getElementsByName("FNUM1")[0].value="右手拇指";
      break;
    case 12:
      document.getElementsByName("FNUM1")[0].value="右手食指";
      break;
    case 13:
      document.getElementsByName("FNUM1")[0].value="右手中指";
      break;
    case 14:
      document.getElementsByName("FNUM1")[0].value="右手环指";
      break;
    case 15:
      document.getElementsByName("FNUM1")[0].value="右手小指";
      break;
    case 16:
      document.getElementsByName("FNUM1")[0].value="左手拇指";
      break;
    case 17:
      document.getElementsByName("FNUM1")[0].value="左手食指";
      break;
    case 18:
      document.getElementsByName("FNUM1")[0].value="左手中指";
      break;
    case 19:
      document.getElementsByName("FNUM1")[0].value="左手环指";
      break;
    case 20:
      document.getElementsByName("FNUM1")[0].value="左手小指";
      break;
    default:
      document.getElementsByName("FNUM1")[0].value="";
    }    
    switch(r2)
    { 
   
    case 11:
      document.getElementsByName("FNUM2")[0].value="右手拇指";
      break;
    case 12:
      document.getElementsByName("FNUM2")[0].value="右手食指";
      break;
    case 13:
      document.getElementsByName("FNUM2")[0].value="右手中指";
      break;
    case 14:
      document.getElementsByName("FNUM2")[0].value="右手环指";
      break;
    case 15:
      document.getElementsByName("FNUM2")[0].value="右手小指";
      break;
    case 16:
      document.getElementsByName("FNUM2")[0].value="左手拇指";
      break;
    case 17:
      document.getElementsByName("FNUM2")[0].value="左手食指";
      break;
    case 18:
      document.getElementsByName("FNUM2")[0].value="左手中指";
      break;
    case 19:
      document.getElementsByName("FNUM2")[0].value="左手环指";
      break;
    case 20:
      document.getElementsByName("FNUM2")[0].value="左手小指";
      break;
    default:
      document.getElementsByName("FNUM2")[0].value="";
    }


        r1 = rdcard.FGQualityScore1;
        r2 = rdcard.FGQualityScore2;
    if(r1 == 0)  
      document.getElementsByName("Fzl1")[0].value="";
    else     
      document.getElementsByName("Fzl1")[0].value=rdcard.FGQualityScore1;
    if(r2 == 0)  
      document.getElementsByName("Fzl2")[0].value="";
    else     
      document.getElementsByName("Fzl2")[0].value=rdcard.FGQualityScore2;


        r1 = rdcard.FGRegistry1;
        r2 = rdcard.FGRegistry2;
    switch(r1)
    { 
   
    case 1:
      document.getElementsByName("Fzhuce1")[0].value="注册成功";
      break;
    case 2:
      document.getElementsByName("Fzhuce1")[0].value="注册失败";
      break;
    case 3:
      document.getElementsByName("Fzhuce1")[0].value="未注册";
      break;
    case 9:
      document.getElementsByName("Fzhuce1")[0].value="未知";
      break;
    default:
      document.getElementsByName("Fzhuce1")[0].value="";
    }
    switch(r2)
    { 
   
    case 1:
      document.getElementsByName("Fzhuce2")[0].value="注册成功";
      break;
    case 2:
      document.getElementsByName("Fzhuce2")[0].value="注册失败";
      break;
    case 3:
      document.getElementsByName("Fzhuce2")[0].value="未注册";
      break;
    case 9:
      document.getElementsByName("Fzhuce2")[0].value="未知";
      break;
    default:
      document.getElementsByName("Fzhuce2")[0].value="";
    }
        document.getElementsByName("tResult")[0].value=idcard.sResultMsg;
        document.all['photo'].src  = 'data:image/jpeg;base64,' + rdcard.JPGBuffer;    

     }




    function savepath_onclick(){ 
   
    rdcard.strSavePath= "c:\\aa";
    document.getElementsByName("tResult")[0].value="路径设置成功";
    }


    function MyClear_onclick(){ 
   
        var  pp        
        pp = rdcard.ClearAll();
        getinfo_onclick();
        document.getElementsByName("tsNum")[0].value="";
    if(pp==0)
        { 
   
        document.getElementsByName("tResult")[0].value="清空成功";
        }
        else
        { 
       
            document.getElementsByName("tResult")[0].value="清空失败: "+pp;
        }
    }


    function window_onUnload(){ 
   
          rdcard.DeleteOutputFile();
          rdcard.DeleteAllPicture();
    }  
</SCRIPT>
</HTML>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153658.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单调队列优化的背包问题[通俗易懂]

    单调队列优化的背包问题[通俗易懂]对于背包问题,经典的背包九讲已经讲的很明白了,本来就不打算写这方面问题了。但是吧。我发现,那个最出名的九讲竟然没写队列优化的背包。。。。那我必须写一下咯嘿嘿,这么好的思想。我们回顾一下背包问题吧。01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总…

    2022年6月25日
    21
  • Pycharm 最新激活码 2021[免费获取]

    (Pycharm 最新激活码 2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

    2022年3月21日
    51
  • Java设计模式之行为型:解释器模式

    Java设计模式之行为型:解释器模式

    2021年10月4日
    33
  • motan与zookeeper框架[通俗易懂]

    motan与zookeeper框架[通俗易懂]新浪科技讯2016年5月10日,微博方面宣布,支撑微博千亿调用的轻量级RPC框架Motan正式开源了。微博技术团队希望未来能有更多优秀的开源人入驻,并进一步完善优化。搭建新浪RPC框架motanDemo:http://blog.csdn.net/linuu/article/details/53115290 motan是新浪微博开源的RPC框架,github官网是:https:/…

    2022年10月24日
    0
  • mac navicat 激活码【永久激活】

    (mac navicat 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    135
  • Okio的使用和源码解析「建议收藏」

    Okio的使用和源码解析「建议收藏」一.javaNIO和堵塞I/O的区别  1.阻塞I/O通信模型:    阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时才会返回       2.javaNIO原理及通信模型    JavaNIO是在jdk1.4开始使用的,是一种非阻塞式的I/O    javaNIO的工作原理:      (1)Jav

    2022年5月20日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号