/// <summary> /// 从文件中读取卡信息 /// </summary> /// <param name="sSavePath"></param> /// <returns></returns> private IDCardData_SS ReadIDCardData_SSFromFile() { IDCardData_SS objIDCardData_SS = new IDCardData_SS(); using (StreamReader objStreamReader = new StreamReader(_saveFilePath + "wx.txt", System.Text.Encoding.Default)) { objIDCardData_SS.Name = objStreamReader.ReadLine(); objIDCardData_SS.Sex = objStreamReader.ReadLine(); objIDCardData_SS.Nation = objStreamReader.ReadLine(); string birth = objStreamReader.ReadLine(); //objIDCardData_SS.Birthday = new DateTime(Convert.ToInt32(birth.Substring(0, 4)), Convert.ToInt32(birth.Substring(4, 2)), Convert.ToInt32(birth.Substring(6, 2))); objIDCardData_SS.Birthday = birth; objIDCardData_SS.Address = objStreamReader.ReadLine(); //objIDCardData_SS.CardNo = objStreamReader.ReadLine(); objIDCardData_SS.CardNo = objStreamReader.ReadLine(); objIDCardData_SS.Department = objStreamReader.ReadLine(); objIDCardData_SS.StartDate = objStreamReader.ReadLine(); objIDCardData_SS.EndDate = objStreamReader.ReadLine(); objIDCardData_SS.AddressEx = objStreamReader.ReadLine(); objIDCardData_SS.PhotoPath = _saveFilePath + @"zp.bmp"; objIDCardData_SS.ArrPhotoByte = ImageUtils.ImageToByteArray(objIDCardData_SS.PhotoPath); return(objIDCardData_SS); } }
/// <summary> /// 获取身份证信息 /// </summary> /// <returns></returns> public bool ReadIDCard(string oldID = null) { if (!InitSucceed) { Open(); if (!InitSucceed) { OnReadFailed("初始化读卡器失败"); return(false); } } try { //验证卡 int nRet = VerifyIDCard(); //读取卡信息 nRet = ReadCardInner();// '读卡内信息 if (nRet != CODE_SUCCESS_ID1 && nRet != CODE_SUCCESS_ID2) { //当读有指纹数据的身份证时,返回62172为成功, //读没有指纹数据的身份证时,返回62171为成功。 OnReadFailed(nRet); return(false); } IDCardData_SS info = null; try { info = ReadIDCardData_SSFromFile(); // //如果新旧id一致,不再通知 if (_cardDataReceiver != null && (info.CardNo != oldID || string.IsNullOrEmpty(oldID))) { _cardDataReceiver(info); } } catch (Exception ex) { OnReadFailed("文件解析失败:" + ex.Message); return(false); } } catch (Exception ex) { OnReadFailed(ex.Message); return(false); } NotifyMessage("读卡成功"); return(true); }