一、開放源碼項目簡介

用于小表格打印,目前適用于Windows(Windows 7、Windows 10)。

是使用php laravel搭建的一個小票打印的Api服務(wù),使用php的mike42/escpos-php庫。

內(nèi)容已包含一個獨立解壓版的,不需另行安裝php環(huán)境。

二、功能概述

laravel搭建的一個小票打印的Api服務(wù),支持Win10/Win7 集成php獨立環(huán)境 Window ticket printer。

小票打印 添加了html和html模板打印,支持二維碼和條形碼。

三、技術(shù)選型

PHP、Laravel

四、使用方法及界面展示

使用方法

安裝服務(wù)

  • 下載源碼的zip包
  • 解壓源碼包(注意:不要解壓到中文路徑)
  • 運行 quick-(打開配置頁) 或 printer-(不打開配置頁)

配置頁(或使用下面的接口調(diào)用進行配置)

  • 安裝后,會自動啟動服務(wù),并打開打印配置頁面
  • 打印配置頁URL : http://localhost:8077/printer-setting
  • 配置頁:

  • 打印效果:

  • 配置頁說明
在操作之前,請先在安裝好小票打印機及驅(qū)動。 1.添加打印機:選擇安裝的小票打印機,點擊“+”號 如果列表內(nèi)為空,則新添加的打印機會成為默認(rèn)打印機。 注意:“虛擬打印機”是無法添加的 2.點擊打印測試頁,會跳轉(zhuǎn)到預(yù)覽頁,點擊右側(cè),打印按鈕。

從接口進行配置

  • 獲取所有打印機
GET http://localhost:8077/api/printer/get-local-printers
  • 獲取現(xiàn)有打印機配置
GET http://localhost:8077/api/printer/get-config
  • 配置添加的小票打印機
POST http://localhost:8077/api/printer/set-printer-config 參數(shù):JSON {"printer_name":"POS-58","is_default":true}
  • 設(shè)置默認(rèn)打印機
POST http://localhost:8077/api/printer/set-defult-printer 參數(shù):JSON {"printer_name":"POS-58"}

使用圖片打印

  • 因為各種小票打印機支持的功能差異太大,所以就只實現(xiàn)圖片打印,市場上80%的小票打印機都支持圖片。
  • 測試頁就是使用html轉(zhuǎn)canvas圖片進行打印的
POST http://localhost:8077/api/job/print-image-data-url 參數(shù):JSON printer_name: 可以不傳或為空,則使用默認(rèn)打印機 {"printer_name":"POS-58","image_data":"data:image/png;base64,..."}

二維碼和條形碼支持

在使用HTML或HTML模板打印時可使用class qrcode和barcode 對二維碼條形碼進行標(biāo)記 二維碼和條形碼的更多參數(shù)配置,可以通過節(jié)點data屬性進行傳遞

示例: 二維碼: 內(nèi)容: 二維碼的更多屬性參考: <div class="qrcode center" data-widht=128 data-height=128 data-color-light="#ffffff" data-color-dark="#000000" data-text=""> 條形碼: 內(nèi)容: nop-printer 二維碼的更多屬性參考: <div class="barcode" data-format="pharmacode" data-display-value=false data-width=4 data-height=60 data-text="nop-printer">

使用HTML打印

請求:POST-JSON: {"html":"<p>HELLO NOP</p>","printer_name":null} 響應(yīng): { "code": 0, "msg": "操作成功", "data": { "task_id": 14 } }

使用HTML模板打印

請求:POST-JSON: {"printer_name":null,"tpl_name":"simple-tpl","tpl_params":{"user":"NOP"}} 響應(yīng): { "code": 0, "msg": "操作成功", "data": { "task_id": 14 } }

HTML打印模板管理

  • 模板采用lodash template 模板語法

保存模板(模板名不存在則創(chuàng)建)

請求:POST-JSON: {"attrs":{"tpl_name":"simple-tpl","tpl_content":"<p>HELLO <%=user%></p>","params_examples":"{\"user\":\"WORLD\"}"}} 響應(yīng): { "code": 0, "msg": "操作成功", "data": { "tpl_name": "simple-tpl", "tpl_content": "<p>HELLO <%=user%></p>", "params_examples": "{\"user\":\"WORLD\"}", "updated_at": "2021-02-19T16:49:38.000000Z", "created_at": "2021-02-19T16:49:38.000000Z", "id": 2 } }

查詢模板

請求:POST-JSON: {"tpl_name":"simple-tpl"} 響應(yīng): "data": { "tpl_name": "simple-tpl", "tpl_content": "<p>HELLO <%=user%></p>", "params_examples": "{\"user\":\"WORLD\"}", "updated_at": "2021-02-19T16:49:38.000000Z", "created_at": "2021-02-19T16:49:38.000000Z", "id": 2 } }

刪除模板

請求:POST-JSON: {"tpl_name":"simple-tpl"} 響應(yīng): { "code": 0, "msg": "操作成功", "data": null }

啟動服務(wù)

運行:printer-

停止服務(wù)

運行:printer-stop.bat

注冊系統(tǒng)服務(wù)啟動項

運行:system-service register

注銷系統(tǒng)服務(wù)啟動項

運行:system-service unregister

五、開源協(xié)議

使用MIT開源協(xié)議

六、源碼地址

私信回復(fù):小票打印

1.《小票打印機怎么打測試?終于找到答案了「開源」支持HTML模板、圖片、二維碼和條形碼打印的小票打印程序》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《小票打印機怎么打測試?終于找到答案了「開源」支持HTML模板、圖片、二維碼和條形碼打印的小票打印程序》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/why/3122882.html