当前位置: 首页 > wzjs >正文

烟台工程建设信息网站企业网站开发目的和意义

烟台工程建设信息网站,企业网站开发目的和意义,wordpress改登陆地址,wordpress 本地建站起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的&#xff…

起因

为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。

基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的,但是因为都是使用了本地化的组件库,只能在服务器端实现。对于目前 OA 流程的使用并不方便。又研究了一下 JS 的处理办法,找到了两个脚本库,可以使用。jsQR.js 和 pdf.js ,可以通过识别发票里的二维码间接取到发票号。

下面做了两个简单使用的例子,验证的可行性。记录一下备用。

实例1 存图片模式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>读发票的二维码信息-图片版</title><script src="https://cozmo.github.io/jsQR/jsQR.js"></script>
</head>
<body>
<div style="height: 300px">点击图片识别图中二维码信息</div>
<img id="img1"   alt="QR Code" onload="showqr()" onclick="showqr()">
</body>
<script>const picfUrl = './fapiao.png'; // 替换为你的 发票 图片 文件路径function showqr(){const canvas = document.createElement('canvas');const context = canvas.getContext('2d');canvas.width = img1.width;canvas.height = img1.height;context.drawImage(img1, 0, 0);const imageData = context.getImageData(0, 0, canvas.width, canvas.height);const code = jsQR(imageData.data, imageData.width, imageData.height);alert(code.data);}img1.src=picfUrl
</script>
</html>

实例2 PDF格式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>读发票二维码信息-pdf版</title><script src="https://cozmo.github.io/jsQR/jsQR.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.min.js"></script>
</head>
<body>
<div style="height: 300px">点击图片识别图中二维码信息</div>
<img id="img1" alt="QR Code" onclick="showqr()" onload="showqr()">
<script>const pdfUrl = './fapiao.pdf'; // 替换为你的 发票 PDF 文件路径// 加载 PDF 文件pdfjsLib.getDocument(pdfUrl).promise.then(pdfDoc => {console.log(`PDF 文件加载成功,共 ${pdfDoc.numPages} 页`);renderPage(pdfDoc, 1); //测试只取第一页内容});// 渲染指定页码的函数function renderPage(pdfDoc, pageNumber) {pdfDoc.getPage(pageNumber).then(page => {const scale = 1; // 放大,可以增加二维码清晰度const viewport = page.getViewport({scale});// 创建 canvas 元素const canvas = document.createElement('canvas');const context = canvas.getContext('2d');canvas.width = viewport.widthcanvas.height = viewport.height;//img1.width = viewport.width;//img1.height = viewport.height;// 渲染 PDF 页面到 canvasconst renderContext = {canvasContext: context,viewport};page.render(renderContext).promise.then(() => {const imageData = canvas.toDataURL('image/png');img1.src = imageData;});});};function showqr() {const canvas = document.createElement('canvas');const context = canvas.getContext('2d');context.drawImage(img1, 0, 0);const imageData = context.getImageData(0, 0, canvas.width, canvas.height);console.log(imageData)const code = jsQR(imageData.data, imageData.width, imageData.height);alert(code.data);}
</script>
</body>
</html>

http://www.dtcms.com/wzjs/540937.html

相关文章:

  • 做浏览单的网站能自己做效果图的网站
  • 网站建设题目深圳搜索优化排名
  • 颜色搭配对网站重要性展览公司网站建设
  • 南阳微网站网站建设流量入口
  • 河北网站建设多少钱网站控制
  • 淘宝上做的网站 域名到期可以自己续费吗网站 建设ppt
  • 做网站的收益免费主题大全下载
  • 个性化网站建设报价姜堰网站定制
  • 美容院做免费推广哪个网站地产网站建设公司
  • 如何查网站备案号免费销售管理系统软件
  • 案例建网站做淘宝客怎么做官方网站
  • 建设网站带后台管理万能软文范例800字
  • 佳木斯做网站百度推广后台登录
  • 宜昌有做网站的公司吗大学生个人简历电子版
  • 延边企业网站建设静安网站建设
  • 荣成做网站的公司wordpress rss 全文
  • 查域名的网站wordpress怎么修改代码
  • 石家庄市建设局网站信息公开dedecms电影网站源码
  • 网站建设试手需要买服务器吗网站报价
  • 平阳网站优化网站规划的步骤
  • soso网站提交入口专业网站设计速寻亿企邦
  • 微信网站怎么建立石家庄关键词快速排名
  • 网站网页切换怎么做网站设计与网页制作公司
  • 镇海住房和建设交通局网站网络规划设计师试题
  • 泰州网站制作建设医疗器械招商网站大全
  • 网站建设大概价格阳江招聘网最新招聘信息网美容框
  • 做网站都有跳转链接济南机场建设
  • 宁波网站建设哪家强百度做的网站迁移
  • 使用php做的网站有哪些百度热搜大数据
  • 不写代码门户网站建设app开发哪家公司比较专业