发票验真综合应用开发
1.开通服务
使用OCR文字识别服务“增值税发票识别”、“发票验真”接口之前,必须先申请并开通服务。
① 登录后跳转至控制台页面,点击左上角服务列表按钮,下拉找到【人工智能】,在【人工智能】栏下找到【文字识别OCR】,点击进入文字识别OCR服务控制台,如下图:
② 区域默认显示“华北-北京四”,实验中无需修改。(注:实际生产使用时,请根据各服务的部署区域选择对应区域,开通与调用的服务必须在同一个区域。)
③ 在“总览”页,根据【开通状态】查看“增值税发票识别”和“发票验真”服务是否已开通,若未开通,则需点击【开通服务】按钮,如下图:
2.获取AK、SK
① 华为云控制台页面右上角账号处点击【我的凭证】
② 依次点击【访问密钥】、【新增访问密钥】
③ 完成后会生成credentials.csv文件,点击“立即下载”。
3.ECS环境准备收起
3.1 新建安全组
① 服务列表搜索“ecs”,找到并进入ECS控制台:
② 找到最下方“安全组”标签页
③ 点击左上角“创建安全组”
④ 名称自定义,模板选择“通用web服务器”,点击“确定”:
⑤ 点击“配置规则”:
⑥ 点击“添加规则”:
⑦ 添加入方向端口8501-8503,点击“确定”完成安全组设置。
8501端口为本次实验开发的web应用所在的端口,要想正常访问该web应用,需开放该端口。
3.2 购买ECS
① 回到ECS控制台“弹性云服务器”标签页,点击“购买弹性云服务器”
② 计费模式选择“按需计费”,区域选择“华北-北京四”,可用区选“随机分配”:
③ CPU架构选择“x86计算”,规格选择“通用计算增强型”“2vCPUS-8GB内存”:
④ 镜像选择“公共镜像”、“Ubuntu”、“Ubuntu 20.04 server 64bit”,主机安全保持默认配置:
⑤ 系统盘保持默认的“40GB”,点击“下一步:网络配置”
⑥ 网络选择默认的“vpc-default”,如果之前没有创建,可点击下图所示的“前往控制台创建”,创建完成后,刷新后即可看到:
⑦ 安全组选择上一小节创建的自定义安全组:
⑧ 弹性公网IP选择“全动态BGP”,带宽选择“按流量计费”,带宽大小选择“5”,完成后点击“下一步:高级配置”:
⑨ 自定义云服务器名称和root用户密码
⑩ 其他保持默认,点击“下一步:确认配置”:
⑪ 勾选协议,点击“立即购买”:
提交成功后,如下所示:
3.3 环境配置
① 回到ECS控制台,找到刚创建的ECS服务器,点击“远程登录”
② 点击“CloudShell”登录
③ 使用root用户登录,输入密码a3hZJfup%kIrhKT$后,点击“连接”:
连接成功后,进入cloudshell命令行界面:
④ 安装软件环境
命令行终端输入如下命令,按回车,输入y,再按回车,即可安装相应软件:
sudo apt install python3-testresources
命令执行情况如下所示:
命令行终端输入并执行如下命令,安装相应python库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jinja2==3.1.0 protobuf==3.19.4 streamlit==1.7.0 huaweicloudsdkcore==3.0.80 huaweicloudsdkocr==3.0.80
命令执行情况如下所示:
此处共安装了五个库:jinja2、protobuf、streamlit、huaweicloudsdkcore和huaweicloudsdkocr,其中streamlit 为Python的一个简易的web组件库,帮助我们搭建UI界面,jinja2、protobuf是运行streamlit所依赖的库,huaweicloudsdkcore和huaweicloudsdkocr是OCR服务相应的Python SDK。
4.增值税验真web应用开发收起
4.1 工程代码准备
① 下载项目代码
命令行终端输入如下命令,下载项目代码:
wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/20220408/ocr_project.zip
② 解压项目代码
unzip ocr_project.zip
③ 执行ls命令确认文件是否解压成功
4.2 项目代码解读
① 生成OCR请求客户端,需要AK, SK鉴权:
② 增值税识别函数,调用增值税识别API接口:
③ 发票验真函数,调用发票验真API接口:
④ main函数,定义了UI界面以及程序执行过程:
4.3 项目运行测试
① 打开凭证下载目录,查看AK/SK信息。
执行下面命令,查看此前下载的凭证文件。
cd /home/user/Downloads/;ls
执行cat credentials.csv |grep ,查看AK/SK的值
cat credentials.csv |grep ,
② 切换到浏览器,进入cloudshell标签页,点击左侧文件浏览器,定位至root/ocr_project/main.py文件,双击main.py,修改代码,复制修改填入上步骤中的AK/SK信息
复制AK值
修改main.py的AK值
复制SK值
修改main.py的SK值
备注:修改完后,记得保存(快捷键ctrl+s)。
③ 启动运行应用:
在cloudshell终端输入以下命令,执行main.py,启动应用APP:
cd ocr_project
streamlit run main.py 2>run.log
将外部URL地址复制到浏览器,查看页面效果:
④ 下载测试图片:
测试图片链接如下:
https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/20220401/quota_invoice.jpg
将其复制到浏览器,下载至本地
⑤ 增值税发票验真测试
回到web应用界面,点击“Browse files”:
选择刚下载的测试图片:
web页面显示发票图像,继续点击“发票验真”按钮:
显示验真结果:
至此,增值税发票验真H5应用开发完毕,您也可在手机端打开浏览器,输入上面的外部URL地址进行访问。由于该H5应用只部署在单台ECS上,所以能够支持的访问量较小,多人访问会使该页面卡顿。
如您想拥有一个支持大流量访问的H5应用,可以使用华为云云容器实例(Cloud Container Instance,CCI)服务进行应用部署,CCI能提供容器秒级弹性伸缩能力,让您能够轻松应对快速变化的业务访问流量,稳健保障业务高可靠性。
- 点赞
- 收藏
- 关注作者
评论(0)