public static CreditReportSimple Analyze(string path) { Regex regex; Match match; //pdf -> string var text = ReadPdf(path); text = Pretreatment(text); //定位,截取 var all = new CreditReportSimple(); { int start, end; regex = new Regex(@".*个人信用报告.*"); match = regex.Match(text); start = match.Index; regex = new Regex(@".*机构查询记录明细.*"); match = regex.Match(text); end = match.Index; if (end > 0 && start < end) { all = AnalysisDebt(text.Substring(start, end - start)); } } { int start, end; regex = new Regex(@".*机构查询记录明细.*"); match = regex.Match(text); start = match.Index + match.Length; regex = new Regex(@".*本人查询记录明细.*"); match = regex.Match(text); end = match.Index; if (start > 0 && end > 0 && start < end) { all.Records = AnalysisRecordDetails(text.Substring(start, end - start)); } } { int start, end; regex = new Regex(@".*本人查询记录明细.*"); match = regex.Match(text); start = match.Index + match.Length; end = text.Length; if (start > 0 && end > 0 && start < end) { all.RecordsSelf = AnalysisRecordDetailsSelf(text.Substring(start, end - start)); } } return(all); }
private static CreditReportSimple AnalysisDebt(string textAll) { var m = new CreditReportSimple(); #region 征信空白 var regex = new Regex(@"发放的"); var match = regex.Match(textAll); m.IsEmpty = !match.Success; #endregion #region 坏账 regex = new Regex(@"呆账/资产处置/担保人代偿/冻结/止付/核销"); match = regex.Match(textAll); m.IsBreakingBad = match.Success; #endregion return(m); }