package com.walker.openocr.idcard; import com.walker.openocr.AbstractTextResolver; import com.walker.openocr.OcrType; import com.walker.openocr.TextBlock; import java.util.List; public class IdCardTextResolver extends AbstractTextResolver { public IdCardTextResolver(){ this.setOcrType(OcrType.TextIdCard); } @Override protected IdCardObject doResolveGeneric(List dataList, List configList) { throw new UnsupportedOperationException("不支持该方法"); } @Override protected IdCardObject doResolveTable(List dataList, List configList) { throw new UnsupportedOperationException("不支持该方法"); } @Override protected IdCardObject doResolveIdCard(List dataList, List configList) { if(configList == null || configList.size() == 0){ throw new IllegalArgumentException("没有配置身份证参数设置"); } IdCardConfig idCardConfig = configList.get(0); IdCardObject idCardObject = new IdCardObject(idCardConfig); for(TextBlock tb : dataList){ idCardObject.addTextBlock(tb); } idCardObject.sortCellObjectList(); idCardObject.calculateValue(); idCardObject.printRowCache(); return idCardObject; } }