1.首先,在百度平台申请自己的账号
2.引入依赖
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.10.0</version>
</dependency>
3.创建自己的Util,App_Id等换成自己申请的即可,我是将他们配置到了配置文件中
public class BaiDuAiUtil {
public static final String APP_ID = PropertyUtil.getProperty("baiduai.appid");
public static final String API_KEY = PropertyUtil.getProperty("baiduai.apikey");
public static final String SECRET_KEY = PropertyUtil.getProperty("baiduai.secretkey");
private static AipOcr apiOcr;
static {
apiOcr = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
}
public static Map<String,Object> parseLicence(String path) {
JSONObject res2 = apiOcr.basicGeneral(path, new HashMap<String, String>());
JSONArray res = (org.json.JSONArray) res2.get("words_result");
Map<String,Object> result = new HashMap<>();
if (res.length() > 0) {
for (int key = 0; key < res.length(); key++) {
result.put("code","0");
JSONObject object = (JSONObject) res.get(key);
String value = object.getString("words");
if(value.startsWith("法定代表人")){
result.put("name",value.substring(5,value.length()));
}
if(value.trim().startsWith("名称")){
result.put("companyName",value.substring(2,value.length()));
}else if(value.trim().startsWith("称")){
result.put("companyName",value.substring(1,value.length()));
}
if(value.startsWith("统一社会信用代码")){
result.put("creditCode",value.substring(8,value.length()));
}
}
return result;
}else{
result.put("code","-1");
result.put("creditCode","");
}
return result;
}
//判断上传的是不是营业执照
public static boolean checkLicence(String path,String company,String name,String credit){
boolean flag = false;
Licence licence = parseLicence(path);
if(path == null || company == null || name == null || credit == null){
return false;
}
if(company.equals(licence.getCompany())&&name.equals(licence.getName())&&credit.equals(licence.getCreditNo())){
flag = true;
}
return flag;
}
}
在controller中测试,传入上传的文件路径即可
@PostMapping("uploadLicense")
@ResponseBody
public Map<String, Object> upload(MultipartFile file) throws IOException {
String path = "Z:/JavaFilesUpload/kejizhuanli/20190318025213680.png";
Map<String, Object> licence = BaiDuAiUtil.parseLicence(path);
return licence;
}