HttpPrinter易橋網絡打印機
下載地址:
https://www.lanzous.com/b743805
一、概述:
常用的報表打印的方法包括:
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、在進行打印前,需要先設計好打印報表
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", "發件人": "張三","發件人電話": "13100110000"},'
+'{"快遞單號": "1234567890", "發件人": "李四","發件人電話": "13100110001"},'
+'{"快遞單號": "1234567890", "發件人": "王五","發件人電話": "13100110002"},'
+'{"快遞單號": "1234567890", "發件人": "馬六","發件人電話": "13100110003"},'
+'{"快遞單號": "1234567890", "發件人": "趙七","發件人電話": "13100110004"},'
+'{"快遞單號": "1234567890", "發件人": "錢八","發件人電話": "13100110005"},'
+']'),
}
成功返回 {"status":"ok","data":"報表地址"}, 失敗返回 {"status":"error","data":"具體的錯誤信息"}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。