本发明涉及一种基于二维码的新型打印方法。本发明包括如下步骤:步骤1.用户上传文件至服务器,提交订单;步骤2.网站服务器针对提交的订单产生一个无规律的文本凭证,并且将需要打印文件的基本信息与文本凭证绑定后储存在网站服务器的数据库里;并且将真实的需要打印文件存储在分布式的云存储服务器上;通过使用PHP的PHPQRCode开源库,将文本凭证转换成二维码图像;用户通过手机摄像头拍摄电脑屏幕上的储存有凭证信息的二维码或使用微信客户端接收订单二维码;步骤3扫码打印;步骤4付款取件。本发明与传统的打印模式相比,本发明不需要用到U盘,即从源头上解决了病毒交叉感染的问题;同时减轻了打印店的负担。
基于二维码的新型打印方法
技术领域
[0001] 本发明属于计算机领域,尤其是涉及一种基于二维码的新型打印方法。
背景技术
[0002] 当今大学生打印需求量非常大,尤其是临近期末时,各种资料,试卷,论文都需要打印,传统的打印是U盘拷贝一排队找零的模式,这是非常“折磨人”的,不仅U盘会受到病毒交叉感染的威胁,排队找零的步骤也非常的不便。
[0003]目前的打印技术有很多,结合互联网的打印模式也不少,但还是存在许多的问题。虽然解决了传统U盘打印的麻烦,不过还都是客户将文件上传成功之后,店家进行打印,然后客户再去打印店取件这一套路,这给店家带来了诸多的不便,店员需要对打印出来的文档进行分类管理整理以避免错拿或者打乱顺序的现象发生,所以这是一件非常麻烦并且耗时的事情,并且在打印店高峰时期,店员不一定有时间去管理和打印网络订单,前往取件的用户还是需要排队等待,这样的方式用户体验是非常不好的,而且打印店打印完成之后文件的安全性无法保证,打印件上的个人信息泄露就更危险了。
[0004] 在这样的前提下,我们推出了以二维码为核心的新型扫码打印系统模式,能够解决目前结合互联网打印的流程存在的诸多问题。
[0005] 二维码是上传的文件信息和数据的钥匙与凭证,二维码技术作为一种简便信息存储识读技术、网页链接技术以及一种认证识别技术,已经比较成熟了。但是由于前几年受到智能移动终端普及率低的制约,至今没有能够很好的推广发展,达到它应有的应用高度。近年由于智能移动通信设备的慢慢普及,为二维码的广泛性应用提供了发展基础和推广契机,也为我们新型的扫码打印系统提供了便利的条件。
发明内容
[0006] 本发明的目的在于针对已有打印模式存在的缺陷,提供一种基于二维码的新型打印方法。本发明提高了传统文档打印以及现有的在线打印的便利性。利用二维码作为核心的信息凭证,将需要打印的文档统一以二维码的形式进行识别区分。
[0007] 本发明解决其技术问题所采用的技术方案,具体包括如下步骤:
步骤1.用户上传文件至服务器,提交订单
1-1用户登陆后,通过web上传文件到服务器;
1-2用户在已上传的文件中选择需要打印的文件,并将需要打印的文件以订单形式提交;
步骤2.用户获取订单二维码
2-1网站服务器针对提交的订单产生一个无规律的文本凭证,并且将需要打印文件的基本信息与文本凭证绑定后储存在网站服务器的数据库里;并且将真实的需要打印文件存储在分布式的云存储服务器上;
所述的文本凭证包括订单的提交时间、文件名信息; 2-2通过使用PHP的PHP QR Code开源库,将文本凭证转换成二维码图像;
2-3用户获取二维码:
2-3-1将步骤2-2中产生的二维码图像直接显示在网页上,用户通过手机摄像头拍摄电脑屏幕上的储存有凭证信息的二维码;
2-3-2用户使用微信客户端接收订单二维码;
所述的用户使用微信客户端接收订单二维码,需要先将账户和微信账户绑定,具体的用户首先登陆网页上用户中心的微信绑定模块,该模块会生成一个带有存有和用户账户信息相关的二维码;用户通过微信服务号上点击获取订单二维码的按钮,发起微信服务号的SCan_waitmSg事件,扫描网页上生成的二维码图像,然后微信服务器将该二维码图像的存储信息反馈给网站服务器,网站服务器会将该用户微信号openID以及网站服务器上的账号关系存在数据库里,当用户需要使用最近的二维码时,通过发起微信服务号的click事件,携带微信号openID发送给网站服务器,网站服务器匹配openID获取用户的相关账号,然后再匹配出数据库里的相关订单的二维码返回给用户;
步骤3扫码打印
3-1用户在扫码打印时,需要提供步骤2中获取到的二维码图像,且将该二维码图像放置在线下终端的摄像头设备的正下方;
3-2线下终端通过摄像头设备,用开源的图像处理库opencv读取摄像头获取的图像;
3-3每隔固定周期,图像读取模块会将读取到的二维码的图像交给zbar 二维码图像处理模块解析,然后获取该二维码储存的信息;
3-4将获取到的二维码存储的信息通过http的方式提交到网站服务器;网站服务器将接收到的信息提取出来进行数据库查询,若在数据库里查询到了二维码储存的信息,则表示资源有效,则根据时间、文件名、公钥和私钥生成一个带有校验信息的临时url,临时url是作为与分布式的存储服务器之间进行交互验证请求的有效性的时候使用,并且将临时url对应的文件信息以及真实的临时有效下载地址反馈给客户端;反之,若没有查询到该二维码的信息则返回一个提示错误的信息;
3-5根据服务器反馈的内容判断文件的有效性,若文件资源能够被获取到,则调用下载模块对服务器返回的带有校验参数的临时url中的文件进行下载,分布式服务器会根据预先设置好的公钥以及私钥对参数里的校验信息进行解密对比,在有效的时间范围内返回有效的文件资源下载;待文件资源下载完成后,调用office word组件将打印任务添加到打印机的打印队列里;通过预制好的参数对操作流程进行控制,或者从线下设备里再请求用户输入打印的具体参数;
步骤4付款取件
4-1线下终端或者设备中的程序会对此次交易的过程信息进行分析,计算出此次交易的金额,用户能够通过线下付款或者扫码支付完成交易;
所述的扫码支付模块通过调用支付宝的扫码接口来实现
扫码打印模式是利用云端网络实现云传送,客户端程序自动化打印流程来提供全面的自助打印服务的,用户可以在任意一台联网设备上提交打印需求,我们将网络上的文件转化为唯一的二维码并且与将二维码与文件绑定起来存储在数据库里,用户再通过拍照,微信端click事件获取等方式将二维码随移动设备,携带至线下终端(包括独立设备以及安装了程序的打印店),然后设备会从网络中拉取相应的资源,然后调用打印机进行打印,期间用户可以通过线下直接付款或者扫码付款的支付方式将此次交易完成。
[0008] 本发明有益效果如下:
与传统的打印模式相比,本发明不需要用到U盘,即从源头上解决了病毒交叉感染的问题。
[0009] 与目前存在着的在线上传文件一打印店取件的在线打印相比,大大减轻了打印店的负担,打印店店员无需进行分类管理的操作,就算在打印的高峰时期,也可以随扫随打,存储文件的二维码在打印之后就会销毁,这样一来,文件安全及个人隐私风险就得到了保证。
附图说明
[0010] 图1为本发明使用流程图。
具体实施方式
[0011] 下面结合附图对本发明进行进一步说明:
如图1所示,基于二维码的新型打印方法,具体包括如下步骤:
步骤1.用户上传文件至服务器,提交订单
1-1用户登陆后,通过web上传文件到服务器。
[0012] 1-2用户在已上传的文件中选择需要打印的文件,并将需要打印的文件以订单形式提交。
[0013] 步骤2.用户获取订单二维码
2-1网站服务器针对提交的订单产生一个无规律的文本凭证,并且将需要打印文件的基本信息与文本凭证绑定后储存在网站服务器的数据库里;并且将真实的需要打印文件存储在分布式的云存储服务器上。
[0014] 所述的文本凭证包括订单的提交时间、文件名信息;
2-2通过使用PHP的PHP QR Code开源库,将文本凭证转换成二维码图像。
[0015] 2-3用户获取二维码:
2-3-1将步骤2-2中产生的二维码图像直接显示在网页上,用户通过手机摄像头拍摄电脑屏幕上的储存有凭证信息的二维码;
2-3-2用户使用微信客户端接收订单二维码;
所述的用户使用微信客户端接收订单二维码,需要先将账户和微信账户绑定,具体的用户首先登陆网页上用户中心的微信绑定模块,该模块会生成一个带有存有和用户账户信息相关的二维码。用户通过微信服务号上点击获取订单二维码的按钮,发起微信服务号的SCan_waitmSg事件,扫描网页上生成的二维码图像,然后微信服务器将该二维码图像的存储信息反馈给网站服务器,网站服务器会将该用户微信号openID以及网站服务器上的账号关系存在数据库里,当用户需要使用最近的二维码时,通过发起微信服务号的click事件,携带微信号openID发送给网站服务器,网站服务器匹配openID获取用户的相关账号,然后再匹配出数据库里的相关订单的二维码返回给用户。
[0016] 步骤3扫码打印 3-1用户在扫码打印时,需要提供步骤2中获取到的二维码图像,且将该二维码图像放置在线下终端的摄像头设备的正下方。
[0017] 3-2线下终端通过摄像头设备,用开源的图像处理库opencv读取摄像头获取的图像。
[0018] 3-3每隔固定周期,图像读取模块会将读取到的二维码的图像交给zbar 二维码图像处理模块解析,然后获取该二维码储存的信息。
[0019] 3-4将获取到的二维码存储的信息通过http的方式提交到网站服务器。网站服务器将接收到的信息提取出来进行数据库查询,若在数据库里查询到了二维码储存的信息,则表示资源有效,则根据时间、文件名、公钥和私钥生成一个带有校验信息的临时url,临时url是作为与分布式的存储服务器之间进行交互验证请求的有效性的时候使用,并且将临时url对应的文件信息以及真实的临时有效下载地址反馈给客户端;反之,若没有查询到该二维码的信息则返回一个提示错误的信息。
[0020] 3-5根据服务器反馈的内容判断文件的有效性,若文件资源能够被获取到,则调用下载模块对服务器返回的带有校验参数的临时url中的文件进行下载,分布式服务器会根据预先设置好的公钥以及私钥对参数里的校验信息进行解密对比,在有效的时间范围内返回有效的文件资源下载。待文件资源下载完成后,调用office word组件将打印任务添加到打印机的打印队列里;通过预制好的参数对操作流程进行控制,或者从线下设备里再请求用户输入打印的具体参数。
[0021] 步骤4付款取件
4-1线下终端或者设备中的程序会对此次交易的过程信息进行分析,计算出此次交易的金额,用户能够通过线下付款或者扫码支付完成交易;
所述的扫码支付模块通过调用支付宝的扫码接口来实现。
[0022] 本发明是在对现有普通打印模式以及在线打印网站研究的基础上,针对其不够完善的方面,而提出的一个全新的扫码自助打印模式。用户可以使用智能手机、PDA、PAD、笔记本、台式电脑等联网设备,将自己的文件上传到网络上再通过提交给我们网站信息或者通用的二维码凭证,将要打印的文件通过网站关联到我们网站服务器的数据库里,文件放置在云储存服务器里,一个二维码对应一个文件订单(可以为多份多文件),用户会在网站上获得二维码的图像,存储的方式分为直接拍摄二维码存储,或者是用户在进行微信绑定之后,从微信客户端的点击事件获取二维码的相关信息进行二维码的存储。当用户在装有我们客户端软件的线下终端上使用的时候,只需要将二维码通过摄像设备读取进入终端,终端会通过识别二维码的模块识别出二维码中存储的特殊信息,发送至服务器,服务器通过与数据库里储存的信息进行比对核实,确认文件的有效性,返回文件真实的下载地址,然后终端根据返回的地址进行文件的下载,下载到终端之后调用Word组件按照预先设置的文件打印份数,或者是终端上输入的打印份数对文件进行自动打印,在这个期间里,终端计算出需要付款的金额,用户可以通过扫码支付的方式对客户端中出现的二维码进行扫码支付,也可以通过线下直接支付的方式对此次交易进行付款完成交易。
链接:https://pan.baidu.com/s/19t4-nUd_-qcSe8ry7rXXZQ
提取码:ryum