个人域名的网站,关于公示网站建设的计划书,营销网络分布图,wordpress多广告位目录 一、腾讯票据单据识别 Invoice OCR服务介绍
二、开发完整流程
2.1 开通文字识别服务
2.2 创建开发者密钥
2.3 创建项目编写代码集成
三、总结 公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦#xff0c;尤其是出差比较多的企业#xff0c;这对于财务人…目录 一、腾讯票据单据识别 Invoice OCR服务介绍
二、开发完整流程
2.1 开通文字识别服务
2.2 创建开发者密钥
2.3 创建项目编写代码集成
三、总结 公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦尤其是出差比较多的企业这对于财务人员的涉及报销单据录入还是非常麻烦的。今天给大家分享使用腾讯云车票识别服务轻松提取火车票信息。这样可以方便把识别服务集成到业务系统可以大大减轻财务人员录入单据信息的工作量。今天采用C#编程语言给大家提供一个可用的Demo感兴趣的朋友可以了解一下
一、腾讯票据单据识别 Invoice OCR服务介绍
官网 该服务基于腾讯优图实验室的深度学习技术可以将图片上的文字内容智能准确识别成为可编辑的文本。这里主要说一下火车票识别。
该服务支持火车票图片全字段的识别包括编号、出发站、到达站、出发时间、车次、座位号、姓名、票价、席别、身份证号、发票消费类型、序列号、加收票价、手续费、大写金额、售票站、原票价、发票类型、收据号码、是否仅供报销使用等字段的识别。它具有识别速度快、准确率高等特点。
二、开发完整流程
● 开通服务
● 申请创建开发者密钥
● 创建项目编写代码集成
2.1 开通文字识别服务
首先需要使用自己的账户登录腾讯云官网然后进入文字识别服务控制台开通服务。开通服务后可以查看资源包默认有1000次的免费额度方便大家本地开发测试确认没问题后再去购买资源包部署到生产环境使用。这个对于开发者还是非常有好的。
另外给大家分享腾讯云双十一拼团活动优惠多多不容错过专属链接 这里给推荐拼团购买轻量级服务器配置为2核2G3M带宽一年仅需68元并且加赠3个月相当于68元购买了15个月轻量级服务器简直太划算了需要购买服务器的朋友不容错过 2.2 创建开发者密钥
如果需要本地集成开发的话需要申请开发者密钥然后创建开发者密钥。创建成功之后如下 注意一定要妥善保护后自己的开发密钥
2.3 创建项目编写代码集成
首先打开VS2022创建一个WinForm项目项目名称为TrainTicketRecognitionDemo
具体创建如下 然后点击创建按钮来初始化项目。项目初始化如下 安装腾讯云文字识别的依赖包依赖包搜索TencentCloudSDK.Ocr 安装成功后如下 接着创建一个火车票识别工具类TrainTicketRecognitionUtils.cs using Newtonsoft.Json;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Ocr.V20181119;
using TencentCloud.Ocr.V20181119.Models;namespace TrainTicketRecognitionDemo
{/// summary/// 火车票查询工具类/// /summarypublic class TrainTicketRecognitionUtils{public static TrainTicketRecognitionModel GetTicketStr(string imageUrl){// 注意密钥妥善保存避免泄露可以放入配置文件或者数据库中Credential cred new Credential{SecretId 个人SecretId,SecretKey 个人SecretKey};// 实例化一个client选项可选的没有特殊需求可以跳过ClientProfile clientProfile new ClientProfile();// 实例化一个http选项可选的没有特殊需求可以跳过HttpProfile httpProfile new HttpProfile();httpProfile.Endpoint (ocr.tencentcloudapi.com);clientProfile.HttpProfile httpProfile;// 实例化要请求产品的client对象,clientProfile是可选的OcrClient client new OcrClient(cred, ap-beijing, clientProfile);// 实例化一个请求对象,每个接口都会对应一个request对象TrainTicketOCRRequest req new TrainTicketOCRRequest();req.ImageUrl imageUrl;// 返回的resp是一个TrainTicketOCRResponse的实例与请求对象对应TrainTicketOCRResponse resp client.TrainTicketOCRSync(req); TrainTicketRecognitionModel trainTicketRecognitionModel JsonConvert.DeserializeObjectTrainTicketRecognitionModel(AbstractModel.ToJsonString(resp));return trainTicketRecognitionModel;}}
}
创建TrainTicketRecognitionModel.cs 实体类
用来接收调用接口成功后返回过来的结果
public class TrainTicketRecognitionModel
{/// summary/// 编号/// /summarypublic string TicketNum { get; set; }/// summary/// 出发站/// /summarypublic string StartStation { get; set; }/// summary/// 到达站/// /summarypublic string DestinationStation { get; set; }/// summary/// 出发时间/// /summarypublic string Date { get; set; }/// summary/// 车次/// /summarypublic string TrainNum { get; set; }/// summary/// 座位号/// /summarypublic string Seat { get; set; }/// summary/// 乘车人姓名/// /summarypublic string Name { get; set; }/// summary/// 票价/// /summarypublic string Price { get; set; }/// summary/// 席别/// /summarypublic string SeatCategory { get; set; }/// summary/// 身份证号/// /summarypublic string ID { get; set; }/// summary/// 发票消费类型/// /summarypublic string InvoiceType { get; set; }/// summary/// 序列号/// /summarypublic string SerialNumber { get; set; }/// summary/// 加收票价/// /summarypublic string AdditionalCost { get; set; }/// summary/// 手续费/// /summarypublic string HandlingFee { get; set; }/// summary/// 大写金额票面有大写金额该字段才有值/// /summarypublic string LegalAmount { get; set; }/// summary/// 售票站/// /summarypublic string TicketStation { get; set; }/// summary/// 原票价一般有手续费的才有原始票价字段/// /summarypublic string OriginalPrice { get; set; }/// summary/// 发票类型火车票、火车票补票、火车票退票凭证/// /summarypublic string InvoiceStyle { get; set; }/// summary/// 收据号码/// /summarypublic string ReceiptNumber { get; set; }/// summary/// 仅供报销使用1为是0为否/// /summarypublic string IsReceipt { get; set; }/// summary/// 唯一请求 ID由服务端生成/// /summarypublic string RequestId { get; set; }
}
界面设计
这里增加一个图片地址的输入框和查询按钮另外增加一个分组展示解析结果具体后台代码如下 /// summary/// 查询代码/// /summary/// param namesender/param/// param namee/paramprivate void btnSearch_Click(object sender, EventArgs e){string url txtImageUrl.Text;if (string.IsNullOrWhiteSpace(url)){MessageBox.Show(请输入查询车票图片的URL);}else{TrainTicketRecognitionModel model TrainTicketRecognitionUtils.GetTicketStr(url);txtStartStation.Text model.StartStation;txtDestinationStation.Text model.DestinationStation;txtDate.Text model.Date;txtTrainNum.Text model.TrainNum;txtPrice.Text model.Price;txtSeat.Text model.Seat;txtSeatCategory.Text model.SeatCategory;txtName.Text model.Name;}} 查询结果如下 三、总结
通过以上案例可以轻松实现火车票信息识别提取的功能以上案例代码提供的比较完整如果大家还有问题的话欢迎沟通交流
阅读原文