HttpPrinter
使用說明
(V1.0)php
山東易橋智能科技有限公司
網站: http://www.HttpPrinter.com http://www.yiqiao.net.cn
手機/微信:13165191728 QQ:46140262 羣號: 230518187 (免費版) 666783702 (收費版) java
免費版
無任何功能限制,例如 設計報表,報表路徑,客戶端鏈接數,導出pdf,jpg文件,設置偏移值 等.
不提供技術諮詢python
收費版(500元)
一次付費,提供永久技術諮詢.
提供OEM服務,替換軟件名稱,聯繫方式等信息.
享受打折服務(定製功能,設計報表等).ios
本軟件 您能夠無償使用,若是您須要 設計報表模板 , 定製功能, 提供技術指導 ,請聯繫做者!chrome
1、概述:
經常使用的報表打印的方法包括:
1.使用activex打印 可是 只能用在IE中,然而微軟已經放棄了IE,chrome一家獨大,新版的EDGE都用chrome開源內核了.
2.生成pdf打印 可是 效率 和 打印效果有限制.你批量打印數據試試,不累死你,生成一個pdf,本身點擊打印一次.
3.用js 傳遞數據 給 報表服務器,可兼容各類瀏覽器.
4.安卓 IOS 自定打印機打印,或者用打印機接口打印.瀏覽器
這麼多的打印,能不能統一塊兒來. 這就是 咱們如今用的 HttpPrinter,經過 Http通信,打印機服務器端設置好模板格式,把數據發送給服務器便可.ruby
2、特色:
一、無插件,主要一句js便可;
二、拖拽便可完成設計,感謝 銳浪報表的支持 ,國人的驕傲;
三、強大的報表功能,管它什麼報表, 交叉的,嵌套的,仍是二維碼,圖片等等,都支持.
四、打印機:只要是能用的打印機,都支持,針式打印機、激光打印機、小票打印機,證卡打印機等等,都不在話下,並且當有多個打印機時能夠指定打印機;
五、支持各類語言,java php js delphi python ios andriod 等等,提供Http通信的語言都支持.服務器
3、使用前提條件:
一、在進行打印前,須要先設計好打印報表(咱們用的是銳浪的 網址是 http://www.rubylong.cn 國產報表開發商 咱們的驕傲);
二、打印數據必須Json的格式發送給打印服務器,而且數據必須知足指定的格式(見下文);微信
4、數據格式說明:
下面以一個 報表數據 爲例說明一下數據格式;ide
{
"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":"具體的錯誤信息"}