发票验真综合应用开发

举报
HWCloudAI 发表于 2022/12/06 15:13:43 2022/12/06
【摘要】 本实验指导用户基于华为云文字识别服务和弹性云服务器ECS开发并部署增值税发票验真web应用。

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能提供容器秒级弹性伸缩能力,让您能够轻松应对快速变化的业务访问流量,稳健保障业务高可靠性。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。