所有文章 > API解决方案 > 营业执照OCR识别API在Java、Python、PHP中的使用教程
营业执照OCR识别API在Java、Python、PHP中的使用教程

营业执照OCR识别API在Java、Python、PHP中的使用教程

营业执照OCR识别(Optical Character Recognition,光学字符识别)是一项技术,旨在通过计算机对营业执照上的文本信息进行自动识别和提取。营业执照是企业合法经营的凭证,包含了企业的基本信息,如公司名称、注册号、法定代表人、经营范围等。传统的手工方式可能需要耗费大量时间和人力进行信息录入,而OCR技术的应用可以实现对营业执照文本的快速而准确的识别。

  1. 自动化与效率: 传统上,营业执照上的信息通常需要人工逐字逐句地录入到计算机系统中,这样的过程费时费力且容易产生错误。而营业执照OCR识别技术的应用,能够自动完成对文本的提取,大大提高了信息录入的自动化程度,提高了工作效率。
  2. 数据准确性: OCR技术在不断发展和优化的过程中,准确性逐渐提高。通过OCR识别,可以避免由于人工录入产生的拼写错误、信息遗漏等问题,提高了数据的准确性。
  3. 大数据处理: 随着企业数量的增多,需要处理的营业执照信息呈现大数据规模。采用OCR技术,可以快速处理大量的营业执照信息,满足大规模数据管理的需求。
  4. 企业管理与监管: 营业执照OCR识别为企业管理和政府监管提供了更有效的手段。政府部门可以利用OCR技术对企业信息进行快速审核和核对,实现更加精准的监管。
  5. 商业智能与数据分析: 通过将OCR识别得到的数据与其他业务数据结合,可以进行更深入的商业智能和数据分析。这有助于企业更好地理解市场趋势、制定战略规划等。
  6. 用户体验: 对于企业和个体工商户而言,营业执照OCR识别提供了更便捷的方式来完成相关手续,减少了繁琐的人工操作,提升了用户体验。

总体而言,营业执照OCR识别背景下的应用,是推动信息化、数字化管理的一项重要技术,为企业和相关管理部门提供了更高效、准确和智能化的解决方案。

什么是营业执照OCR识别API?

营业执照OCR识别API是一种基于光学字符识别(OCR)技术的应用程序接口(API),旨在识别和提取营业执照上的相关信息。营业执照是企业合法经营的凭证,包含了企业名称、注册号、地址等重要信息。该API能够自动识别营业执照图像中的文本信息,并将其转换为可读的数据格式,以便进行后续的数据处理、验证和管理操作。

营业执照OCR识别API适用于哪些人?

营业执照OCR识别API适用于以下人群:

  1. 企业所有者:能够快速准确地识别营业执照信息,方便进行企业登记、经营管理等工作。
  2. 会计师和财务人员:能够帮助他们自动化营业执照信息的获取和处理,提高工作效率。
  3. 政府机构:可以利用该API加快企业登记和许可审批流程,提升政务服务效率。
  4. 数据分析人员:能够将识别后的营业执照信息用于数据分析、市场调研等工作。
  5. 软件开发人员:可以将该API集成到自己的应用程序中,提供营业执照识别和管理功能。

营业执照OCR识别API是如何工作的?

营业执照OCR识别API的工作原理通常包括以下步骤:

  1. 图像采集:用户提供营业执照的图像,可以是扫描件、照片或者电子版的图像文件。
  2. 预处理:对图像进行预处理,包括去噪、灰度处理、二值化等,以提高后续OCR识别的准确性。
  3. 文本检测:利用计算机视觉技术,检测图像中的文字区域,确定营业执照上的文字内容。
  4. OCR识别:采用OCR引擎对文字区域进行识别,将图像中的文字转换为计算机可读的字符序列。
  5. 信息提取:对识别到的文字进行解析和提取,获取营业执照上的相关信息,如企业名称、注册号、地址等。
  6. 格式化输出:将提取到的信息以结构化的数据格式输出,通常是JSON或XML格式,方便后续的数据处理和应用。

通过这些步骤,营业执照OCR识别API能够实现自动识别营业执照上的文字信息,为用户提供便捷的营业执照识别服务。

如何使用营业执照OCR识别API?

  • 注册: 开发者可以在幂简集成平台上注册账户,选择适合自己的工作空间,并在空间中创建自己的应用。
  • API 发现: 通过API Hub找到所需的API服务,通过一键集成将API集成到所创建的应用中。
  • API 集成: 开发者按照文档中的指引,将 API 集成到自己的应用程序中。
  • API 管理: 在幂简集成平台上,可以管理 API 密钥、查看使用情况和监控身份验证请求。

营业执照OCR识别API在不同开发语言中的调用(Java/python/php 示例)

在Java中,下面这段代码展示了如何使用 Java 发送 HTTP POST 请求到营业执照OCR识别服务,以及如何处理服务的响应。需要注意的是,其中的 HttpUtils 类和依赖项需要从提供的链接下载并引入。此外,{{AppCode}} 部分需要替换为实际的应用程序代码。

import com.mittang.util.HttpUtils;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;

public class Example {
public static void main(String[] args) throws Exception{
String host = "https://open.expauth.com";
String path = "/v2/ocr/business-license";
String method = "POST";
// "{{AppCode}}" 替换成您的 AppCode
String appcode = "{{AppCode}}";
Map headers = new HashMap<>();
headers.put("X-Mce-Signature", "AppCode/" + appcode);
headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
Map querys = new HashMap<>();
Map bodys = new HashMap<>();
// 填充参数
bodys.put("img", "img");

try {
/**
* 重要提示如下:
* HttpUtils请从
* https://static.miitang.com/saas/simple/HttpUtils.java 下载
*
* 相应的依赖请参照
* https://static.miitang.com/saas/simple/pom.xml
*/
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
// 获取 response 的 body
String resStr = EntityUtils.toString(response.getEntity());
System.out.println(resStr);
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode == 200){
// 请求成功,可根据业务码(请求体中的code)进行逻辑处理
} else if(statusCode == 610){
// 用户输入的参数问题,可直接提示用户
} else if(statusCode == 611){
// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。 LOG it and 提示用户
} else if(statusCode == 612){
// 用户操作频度问题,可提示用户。 LOG it and 按业务特点做处理
} else if(statusCode >= 500 && statusCode < 600){
// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服
} else {
// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

在Python中,使用 requests 库发送 POST 请求到营业执照OCR识别服务接口,根据响应状态码进行业务逻辑处理,包括成功、参数问题、数据问题、操作频度问题和系统稳定性问题等的处理。

import json
import requests


if __name__ == '__main__':

url = "https://open.expauth.com/v2/ocr/business-license"

payload = json.dumps({
"img": "img"
})

headers = {
"Content-Type": "application/json",
# "{{AppCode}}" 替换为您的 AppCode
"X-Mce-Signature": "AppCode/{{AppCode}}"
}

response = requests.request("POST", url, headers=headers, data=payload)
status_code = response.status_code
print("headers:", response.headers)
print("http 状态码:", str(status_code))
print(response.text)
if status_code == 200:
"请求成功,可根据业务码(请求体中的code)进行逻辑处理"
elif status_code == 610 :
"用户输入的参数问题,可直接提示用户"
elif status_code == 611 :
"系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。 LOG it and 提示用户"
elif status_code == 612 :
"用户操作频度问题,可提示用户。 LOG it and 按业务特点做处理"
elif status_code >= 500 & status_code < 600 :
"在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服"
else:
"如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。"

在PHP中,使用 cURL 发送 POST 请求到营业执照OCR识别服务接口,处理并输出相应的业务逻辑。它包括设置请求头、发送请求、处理响应,根据响应状态码进行不同的业务逻辑处理,如成功、参数问题、数据问题、操作频度问题、系统稳定性问题等。

<?php
$host = "https://open.expauth.com";
$path = "/v2/ocr/business-license";
$method = "POST";
$appcode = "{{您的AppCode}}";
$headers = array();
array_push($headers, "x-mce-signature:AppCode/" . $appcode);
//根据API的要求,定义相对应的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
$querys = "";
$bodys = "img=img";
$url = $host . $path;

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
$result = curl_exec($curl);

$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); // 获得响应头大小
$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
$body = substr($result,$header_size);

curl_close($curl);
$retMap = json_decode($body, true);
$code = $retMap["code"];


echo $httpCode.PHP_EOL; // DEBUG

if($httpCode == 200){
// 请求成功,可根据业务码(请求体中的code)进行逻辑处理
echo $retMap["code"].PHP_EOL;
echo $retMap["message"].PHP_EOL;
echo $retMap["hasFees"].PHP_EOL;
echo $retMap["fees"].PHP_EOL;
if($code == "FP00000"){
// SUCCESS
echo "SUCCESS";
}
else{
// FAILURE
echo "FAILURE";
}
} else {
echo $code.PHP_EOL; // DEBUG

if($httpCode == 610){
// 用户输入的参数问题,可直接提示用户
$errors = $retMap["errors"];
$errorMap = null;
foreach($errors as $key=>$value){
foreach($value as $key2=>$value2){
$errorMap[$key] = $value2;
break;
}
}
// 转化为 key:tip
echo($errorMap["idCardNo"].PHP_EOL);
echo($errorMap["name"].PHP_EOL);
} else if($httpCode == 611){
// 系统准备的数据问题,如 文件数据下载失败、数据不存在、数据重复请求等。 LOG it and 提示用户
echo "修订数据状态,不要重复操作。".PHP_EOL;
} else if($httpCode == 612){
// 用户操作频度问题,可提示用户。 LOG it and 按业务特点做处理
echo $retMap["message"].PHP_EOL;
} else if($httpCode >= 500 && $httpCode < 600){
// 在运行阶段发生的系统稳定性问题,客户端可以重试,或者联系我司客服
// TODO: retry
echo "RETRY".PHP_EOL;
} else {
// 如账户密码错误、IP白名单问题、余额不足等,您应该在对接过程中解决相关问题。
var_dump($retMap);
}
}
?>

总结

通过光学字符识别技术,实现了营业执照信息的自动提取和识别,从而提高了信息录入效率和准确性。该技术适用于企业所有者、会计师、政府机构等不同人群,并可以通过API在不同编程语言中调用。总体而言,营业执照OCR识别技术推动了信息化、数字化管理,为企业和相关管理部门提供了更高效、准确和智能化的解决方案。

了解更多OCR识别相关API

文字OCR识别

银行卡OCR识别

#你可能也喜欢这些API文章!