标题 | 人事部门使用OCR技术实现OA系统请假条汇总 |
范文 | 兰天 邓小云
摘 要:利用现有OA系统的电子假条图片和计算机OCR(Optical Character Recognition)技术,实现假条图片中员工姓名、请假时段、事由等信息的自动识别与抠取。将相关信息自动汇总,最终通过使用命令批处理调用Node.js连接百度OCR接口,抠取假条图片上相关信息。在后台调用Excel假条统计文件,使用VBA宏将抠取的假条信息填入,并使用Excel相关公式去除本年度法定节假日和周末,最终计算出员工实际请假天数,并自动填入,以实现假条自动化汇总,减少人事部门人工汇总的工作压力,降低出错率。 关键词:OCR技术;OA系统;绿色人力资源 中图分类号:F272.92;TP391.4? ? ? 文献标志码:A? ? ? 文章编号:1673-291X(2020)23-0073-02 长期以来,人事部门假条汇总工作都以纸质请假条的人工保管为主,假条的保管、查询、统计和数据分析等都十分不便捷,并需要消耗大量的人力物力,且出错率高。然而,随着信息化的发展,现阶段很多单位都已经拥有OA系统(Office Automation System),这样就使得人事管理员可以获取制式的请假条图片。另一方面,OCR(Optical Character Recognition)技术近年来发展迅速,精准度高,百度、搜狗、腾讯、汉王等行业巨头都提供了OCR接口,方便其他程序调用。因此,可以通过使用Node.js调用OCR接口,完成图片有效内容的抠取,再调用Excel文件,将有效内容自动填入Excel文件中,并配合Excel中的相关公式和预留信息,完成自动汇总和统计员工及二级部门的全年请假状况。 一、使用Node.js调用百度OCR接口 1. var image = fs.readFileSync("./image/1.png").toString("base64"); 2. var client = new AipOcrClient("118298", "Oj4LWg9LUH", "pKtcyr7cxIRAGlg"); 使用Node.js调用百度OCR,抠取制式图片上的信息,并将它们以项的形式存储在JavaScript的数组里。 二、调用自定义模板文字识别 1. var fs = require(′fs′); 2. var xlsx=require("node-xlsx"); 3. client.custom(image, options).then(function(result) { 4.? ? ?var datas=[]; 5.? ? ?var result3=`=HYPERLINK("假条照片`+′\\′ + result.data.ret[1].word + result.data.ret[2].word.replace(/-/g, ′′) + "-" + result.data.ret[0].word.replace(/-/g, ′′) + `.png")`; 6.? ? ?var result2=result.data.ret[2].word.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3"); 7.? ? ?var result0=result.data.ret[0].word.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3"); 8.? ? ?var data=["",result.data.ret[1].word,result2,result0,"",result3]; 9.? ? ?datas.push(data); 10.? ? ? ?var buffer=xlsx.build([ 11.? ? ? ? ? ?{ 12.? ? ? ? ? ? ? ? ?name:′sheet3′, 13.? ? ? ? ? ? ? ? ?data:datas 14.? ? ? ? ? ?} 15.? ? ? ? ?]); 16. fs.writeFileSync(′../newAdd.xlsx′, buffer, {′flag′:′w′}); 17.? ? ?fs.rename(′./image/1.png′, ′../假條照片/′ + result.data.ret[1].word + result.data.ret[2].word.replace(/-/g, ′′) + "-" + result.data.ret[0].word.replace(/-/g, ′′) + ′.png′, function(err) { 18.? ? ? ? ?if (err) { 19.? ? ? ? ? ? ?throw err; 20.? ? ? ? ?} 21.? ? ?}); 22. }).catch(function(err) { 23.? ? ?// 如果发生网络错误 24.? ? ?console.log(err); 25. }); 調用文字模板进行抠取,并使用npm安装node-xlsx模块,将存入数组中的项依次存入Excel文档的各字段中,并产生图片链接,将假条图片存放在数据库中,可以在Excel文件里直接点击调取。 三、使用Excel公式调取相关员工的工号信息,并计算其除去法定节假日和公休日的请假天数 匹配员工的姓名、工号与所属部门采用了VLOOKUP公式。使用它的好处是可以将其他sheet中提前储存的员工姓名、工号、所属部门等相关信息调用出来,以达到OCR识别员工工号后即可获得员工姓名、所属部门等一切相关信息。同样,在统计请假天数时采用了NETWORKDAYS与NETWORKDAYS.INTL两个公式,不但可以获取本年度工作日等信息,还可以调用在其他sheet中预先设置的法定节假日、寒暑假等信息。这样就做到了根据具体年份的具体情况进行灵活调整,保证了员工请假时长统计的精准性。汇总同一员工多张假条请假天数总和时,则使用了SUMIF公式,这样可以灵活统计某位员工全年请假的多张假条,计算出他总计请假天数,并可以预警某员工的总计请假天数是否已达到红线,以及预警某二级部门的所有员工的总计请假天数是否已达到红线。 四、结论 随着无纸化办公和绿色人力资源的发展,请假条的管理和汇总统计对精确性和高效性有着越来越高的要求。同时,伴随着OCR(Optical Character Recognition)技术的发展,我们有许多优秀的汉字OCR平台向大众提供接口,如汉王OCR、百度OCR、搜狗OCR、腾讯OCR等。它们能做到精确识别汉字人名中的生僻字,甚至对部分手写字体也有一定的识别能力。并且支持使用Java、JavaScript、Python、C、C++、C#、PHP等主流编程语言接入相关接口。 本文的实现方案即是使用JavaScript调用Node.js连接百度OCR的接口,以达到对制式电子假条的精确识别和抠取。再运用Node.js中的node-xlsx模块将抠取的内容导入Excel文件中进行各种汇总统计工作。整个过程只需人事管理员点击“运行.bat”便可自动化完成,是办公自动化和绿色人力资源管理的一次较好的实践。 参考文献: [1]? 兰天,张荣庆,梁乾.Excel协同汇总的Nodejs算法解决方案[J].数码世界,2020:39. [2]? 兰天,马叶.企业人力资源绩效管理的创新探讨[J].商讯,2019,(4):192-194. [3]? 兰天,马叶.绿色人力资源管理研究述评与展望[J].商讯,2019,(3):193-195. [4]? 许正义.基于NodeJs的成果管理辅助系统设计与实现[D].南昌:江西师范大学,2018. [5]? 邵明浩.基于NodeJS的接口管理平台设计与实现[D].南京:东南大学,2017. [6]? 黄孝羽.基于NodeJS函数接口描述的正则引擎的设计和实现[D].南京:东南大学,2017. [7]? 张海波.基于Android的学生电子假条管理平台[J].电脑知识与技术,2018,(30). [8]? 吴建军.浅谈人力资源管理中请假条标准格式设计[J].中小企业管理与科技(中旬刊),2015,(10). [9]? 张婷婷,马明栋,王得玉.OCR文字识别技术的研究[J].计算机技术与发展,2019,(4). [10]? 王学梅.OCR文字识别系统的应用[J].现代信息科技,2020,(18). 收稿日期:2020-06-08 作者简介:兰天(1990-),男,陕西汉中人,助教,硕士,从事人力资源管理研究;邓小云(1984-),女,陕西汉中人,硕士,从事公共管理研究。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。