package com.walker.openocr.vehicle; import com.walker.openocr.TextBlock; import com.walker.openocr.ValueParser; import com.walker.openocr.table.TableConfig; import com.walker.openocr.table.TableObject; import com.walker.openocr.table.TableTextResolver; import java.util.ArrayList; import java.util.List; /** * 行驶证文本解析器实现,暂时使用表格统一解析过程,创建专用模板。 * @author 时克英 * @date 2022-09-27 */ public class VehicleLicenseResolver extends TableTextResolver { public VehicleLicenseResolver(){ super(); } @Override protected TableObject doResolveTable(List dataList, List configList) { if(configList == null || configList.size() == 0){ logger.error("table configList 未设置,无法解析'行驶证'对象"); return null; } TableConfig tableConfig = configList.get(0); PlateValueParser plateValueParser = new PlateValueParser(); plateValueParser.setName("hao_pai_hao_ma"); CarTypeValueParser carTypeValueParser = new CarTypeValueParser(); carTypeValueParser.setName("che_liang_lei_xing"); AddressValueParser addressValueParser = new AddressValueParser(); addressValueParser.setName("zhu_zhi"); IdValueParser idValueParser = new IdValueParser(); idValueParser.setName("che_liang_shi_bie_dai_ma"); List valueParserList = new ArrayList<>(8); valueParserList.add(plateValueParser); valueParserList.add(carTypeValueParser); valueParserList.add(addressValueParser); valueParserList.add(idValueParser); VehicleLicenseTable tableObject = new VehicleLicenseTable(tableConfig, valueParserList); // List availableList = this.filterRemovedNames(tableConfig, dataList); // if(availableList != null){ // for(TextBlock tb : availableList){ // tableObject.addTextBlock(tb); // } // } // tableObject.sortCellObjectList(); // tableObject.calculateValue(); // tableObject.printRowCache(); this.flowTableObject(tableObject, tableConfig, dataList); return tableObject; } }