HttpPrinter
使用说明
(V1.0)
山东易桥智能科技有限公司
网站: http://www.HttpPrinter.com http://www.yiqiao.net.cn
手机/微信:13165191728 QQ:46140262 群号: 230518187 (免费版) 666783702 (收费版)
免费版
无任何功能限制,例如 设计报表,报表路径,客户端连接数,导出pdf,jpg文件,设置偏移值 等.
不提供技术咨询
收费版(500元)
一次付费,提供永久技术咨询.
提供OEM服务,替换软件名称,联系方式等信息.
享受打折服务(定制功能,设计报表等).
本软件 您可以免费使用,如果您需要 设计报表模板 , 定制功能, 提供技术指导 ,请联系作者!
一、概述:
常用的报表打印的方法包括:
1.使用activex打印 但是 只能用在IE中,然而微软已经放弃了IE,chrome一家独大,新版的EDGE都用chrome开源内核了.
2.生成pdf打印 但是 效率 和 打印效果有限制.你批量打印数据试试,不累死你,生成一个pdf,自己点击打印一次.
3.用js 传递数据 给 报表服务器,可兼容各种浏览器.
4.安卓 IOS 自定打印机打印,或者用打印机接口打印.
这么多的打印,能不能统一起来. 这就是 我们现在用的 HttpPrinter,通过 Http通讯,打印机服务器端设置好模板格式,把数据发送给服务器即可.
二、特点:
1、无插件,主要一句js即可;
2、拖拽即可完成设计,感谢 锐浪报表的支持 ,国人的骄傲;
3、强大的报表功能,管它什么报表, 交叉的,嵌套的,还是二维码,图片等等,都支持.
4、打印机:只要是能用的打印机,都支持,针式打印机、激光打印机、小票打印机,证卡打印机等等,都不在话下,而且当有多个打印机时可以指定打印机;
5、支持各种语言,java php js delphi python ios andriod 等等,提供Http通讯的语言都支持.
三、使用前提条件:
1、在进行打印前,需要先设计好打印报表(我们用的是锐浪的 网址是 http://www.rubylong.cn 国产报表开发商 我们的骄傲);
2、打印数据必须Json的格式发送给打印服务器,并且数据必须满足指定的格式(见下文);
四、数据格式说明:
下面以一个 报表数据 为例说明一下数据格式;
{
"ReportName": encodeURIComponent("test.grf"), /报表文件名/
"Copies": 1, /可选。打印份数,支持指定打印份数。默认1份,如果为零,不打印,只返回报表生成的pdf,jpg等文件/
"PrinterName": encodeURIComponent(""), /可选。指定打印机,为空的话 使用默认打印机, 请在 控制面板 -> 设备和打印机 中查看您的打印机的名称 /
"PrintOffsetX": 0, /可选。打印右偏移,单位厘米。报表的水平方向上的偏移量,向右为正,向左为负。/
"PrintOffsetY": 0, /可选。打印下偏移,单位厘米。 报表的垂直方向上的偏移量,向下为正,向上为负。/
"token": encodeURIComponent("aa"), /*可选。只要token值在列表中 方可打印
"Control": encodeURIComponent('[' ///*部件框,可选值:AsStaticBox ,AsMemoBox,AsRichTextBox,AsPictureBox (base64格式),AsBarcode*/
+'{"type": "AsStaticBox", "name": "姓名","value": "高文杰","required": false},'
+'{"type": "AsStaticBox", "name": "性别","value": "男","required": false},'
+'{"type": "AsStaticBox", "name": "电话","value": "13165191728","required": false},'
+'{"type": "AsBarcode", "name": "二维码","value": "5520002701774727","required": false},'
+'{"type": "AsPictureBox", "name": "图片","value": "/j9KKKKACiiigAooooA/9k=","required": false},' //base64格式
+']'),
"Parameter": encodeURIComponent('[' ///*参数,type 默认为空即可,已经在报表端设置了 备用字段
+'{"type": "", "name": "单号","value": "5520002701774727","required": false},'
+'{"type": "", "name": "日期","value": "2019-09-09 12:21:12","required": false},'
+'{"type": "", "name": "year","value": "2018","required": false},'
+']'),
"Field": encodeURIComponent('[' ///*字段, type ftBlob (base64格式) ,ftString ftInteger ftBoolean, ftFloat, ftCurrency,ftDateTime, size (ftString 设置为实际长度,其他的设置为0,例如 ftInteger ftBlob 等设置为0 )
+'{"type": "ftString", "name": "快递单号","size": 255,"required": true},'
+'{"type": "ftString", "name": "发件人","size": 255,"required": false},'
+'{"type": "ftString", "name": "发件人电话","size": 255,"required": false},'
+'{"type": "ftBlob", "name": "图像","size": 0,"required": false},'
+']'),
"Data": encodeURIComponent('[' ///*数据行
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+'{"快递单号": "1234567890", "发件人": "山东易桥智能科技有限公司","发件人电话": "13165191728"},'
+']'),
}
成功返回 {"status":"ok","data":"报表地址"}, 失败返回 {"status":"error","data":"具体的错误信息"}
来源:51CTO
作者:51cccaotu
链接:https://blog.51cto.com/7166940/2399250