iT邦幫忙

1

POS機有關列印,大家都怎麼做的

  • 分享至 

  • xImage

我想詢問板上有設計POS經驗的大大們
(沒設計過,也可以提供意見~)

關於POS機列印出單的部分
大家都怎麼處理(產生)的呢?

我這邊的情境是
POS畫面是用網頁方式設計出來的

在操作者完成訂單後送出
要印出發票、明細、顧客聯、餐點單(供畫單用)...等等

我這邊是接手前工程師設計的
他因應客戶需求
各種出來的單子有一些設計
所以前工程師用html2canvas方式
另外開一個component來專門設計客戶需要的樣子
當然有幾種單子就開幾個component來跑資料(例如我上面提的四種單子)
等個別資料塞完之後
在用html2canvas將設計出來的畫面轉成圖片
再依序將圖片丟到印單的機器(以下稱出單機)

但是這部分有個問題
當點餐的量很大時
發票、明細、顧客聯只有一張還好
但餐點單卻有需求一個商品一張
也就是說光餐點單這個component畫面會因為餐點的量來刷新和轉圖
也就是這個轉圖過程
讓客戶覺得列印很慢

我是有在網上找到相關列印的套件
套件有提供好用的列印函式
包括可以下切單時機(可以用在餐點單一個商品印完切一張)
如此 我就可以整坨資料直接跑列印
而不用經過轉圖功能

但相對的
缺點是沒辦法按照客戶想要的樣子出單
例如可以拿來打勾的框框、個別文字外框、字體隨意大小...等等

我想了解
各位在這部分
是都用轉圖後印單?還是純塞資料直接印單?

又問
未來若有客戶不退步(目前我這個跟他解釋過後,同意讓步,好人啊~~~~)
那...是不是只有轉圖這條路?
還是說...轉圖這條路可以有更好的處理方式?

看更多先前的討論...收起先前的討論...
用熱感式的輸出
不過你應該不用花時間自己找機器,目前市面上找的到的全套POS機都是有包括電腦、鍵盤、雙螢幕或小型LED(面向顧客),熱感式發票機,比較沒有自己配置的空間了
.....
淺水員 iT邦大師 6 級 ‧ 2021-05-06 16:53:29 檢舉
沒做過POS系統,不過有點興趣玩看看
出單機允許傳入的資料格式是哪種?
另外圖檔的長寬各幾個像素?
資料格式沒有特別分(我猜你是想問是不是可以丟txt或word之類的對吧)
以我找到的官方提供的函式
例如print函式
就直接下print("Hello World")
當然前後還需要定義出單機連線

至於圖片
因為我資料來源是資料庫
該圖片欄位存放的是base64
但應該也可以支援印本地端的圖庫

例如手機打開相機可以印出拍照的內容或是手機相簿裡的照片
淺水員 iT邦大師 6 級 ‧ 2021-05-07 02:27:37 檢舉
我是在想不知道支不支援類似 PostScript 之類的資料流
也就是類似向量圖之類的語法
使得允許畫線跟把文字放在預期的位置
稍早去查了PostScript在幹嘛
簡單看一下
感覺值得研究

順便請問
PostScript是不是最後也是輸出成圖片檔甚至有可能輸出base64?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
japhenchen
iT邦超人 1 級 ‧ 2021-05-06 16:52:37

至於列印,我是不知道別的,但在我慣用的VisualStudio 是有RDLP可以自定義尺寸列印,以資料庫輸出印發票、標籤、名片、連續信封、連續中一刀中二刀報表紙、特殊材質尺寸的權狀、超大尺寸噴繪輸出我都做過,都很OK.....我不愛用CrystalReport,只能問問其他人的經驗

列印沒那麼可怕,只要排版,放好要印的格子跟欄位,定好紙張長寬、列印邊界(最小可以設成0)

或是以純文字輸出也是我見過的方法(但我不愛用,現在也不常見這種模式)

目前市面上常見的出單機大多都換成熱感的
我現在要設計的也是熱感的
像這種

當然啊~
他官方是有出相關sdk給工程師設計
但通常就是基本的印字、印圖、簡單的排版
想要排得很有質感
就比較沒辦法了
更不用說
出單機本身對於某些符號沒辦法印
例如:打勾用的框框

不過你說的VisualStudio RDLP
我可以透過網頁去送資料給他讓我印嗎?
或許電腦操作可能還可以
但是現在網頁都是響應式
客戶應該會想用平板或手機來操作==

列印驅動要看你把伺服器放在什麼主機上,LINUX吃CUPS,Windows吃PostScript,但你也不用把PostScript想的太可怕,至少你程式碰不到這一層,你只要負責把你要印的東西往印表機輸出,其他的,系統會搞定
先問清楚你的POS作業系統是什麼,再來決定你要用什麼語言寫程式,或請廠商提供SDK(如果他們夠強,應該會提供非Win版的),或是對機器輸出ASCII(在台灣賣的應該會內建中文字型在熱感機上)

建議你去找到POS廠商看他們提供的機種跟驅動型式

驅動或sdk都有提供
只不過提供的版沒辦法百分之百完全符合客戶想要的樣子

我的POS主要是網頁操作
但列印端因為開發主要是在手持裝置上(平板或手機)

但因為是開發網頁
並非開發iOS或Android

所以另外用cordova封裝成app
而cordova是可以安裝外掛插件的
其中有列印相關的外掛可以使用

而我目前接手的出單機
正好有人寫好專門的cordova外掛

雖說是外掛
但其內容其實跟官方給的sdk差不多
只是轉成cordova的方式使用

也就是說
版面或樣式設計上
依舊無法達到百分百客製化

目前我只知道用html2canvas可以隨心所欲百分百客製化版型和樣式

但相對的轉圖過程
資料一多
就是會變慢==

0
souda
iT邦好手 1 級 ‧ 2021-05-07 12:49:18

ESC/POS COMMAND 您可以參考看看.

我要發表回答

立即登入回答