Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9204

簡単 (電子) レシート receiptline の新機能を試してみた

$
0
0

マークダウン言語で紙のレシートや電子レシートを簡単に作れる receiptline。
https://github.com/receiptline/receiptline
https://www.npmjs.com/package/receiptline

少し前にマイナーバージョンアップがあったので、新機能を試してみました。
(2020年11月21日時点で Verion 1.1.1)

Web フォントで表示

前回の記事で試していた Google Fonts の「Kosugi Maru」が採用されました。
これで iOS, Android, Windows, Linux, Mac どの環境でも同じ表示になるはずです。
00.png

データは過去の記事から。

ReceiptLine
{image:iVBORw0KGgoAAAANSUhEUgAAASAAAAAwAQMAAACL7DXsAAAABlBMVEUAAAD///+l2Z/dAAABqElEQVQ4y+3VMW7bMBQGYLIqwqUo10ymj5AxBQwouUmO0NEFBFOCBo05Qs7QG5DV0K1noOGhKwMvLEDw7yOVALEUIB46BdUofJTe+x8pMZxxsXeFol4gJucm1HMUopght0SPmCO2RCOGGTJLNBB783UShzladidxfBMluYjpFaT+FYqEKE4O/8VtRA7WrRO8Sl+pEIPWq2Nd0LGPHvc81CJYYGgTfslwdy2wql1UP1RBv+2foFVHaO8AaYAHYW4uq1hLF1dsQj/tY9wpS2j0hAgq4TZVXkVP+jChwfrU1BPSSTkkJfxO2KAHQv1U04P1OhbUMh0z0oQk3e0zmrpD50UoqKdWCSGdopxT4oGfojBDNBZvIztF4ynKA95bsG1B3RMaFugw2qPfqmeUI5AzNODQU06NzMgkqpm6m9BTBGX7jn33PTYUy0qYBqki9PmiIApzW9Aeol1fxcR45MJxmjlDYm1GNBb/saDQCHO3/QZ2GyvuK6BdK/AuI6yU/yT6cjjVPqQK1kKqSIE42vPDwVxWTBvEzY69POb2nG/Bf4T2HMT0u/sj/AWoqMYMK2VNkgAAAABJRU5ErkJggg==}|
^^領収書|
2020/07/20 01:23|
#NGC17TH|

缶ビール | ¥211~
シュークリーム | ¥129*
-
小計 | ¥340~
(10%対象 | ¥211)
( 8%対象 | ¥129)
(内消費税等 | ¥28)
^合計 | ^¥340
お 預 り | ¥1,000
お 釣 り | ¥660

*印は軽減税率対象商品です。

USB (Bluetooth) プリンターで印刷

仮想シリアルポート対応 USB (Bluetooth) プリンターでテスト印刷できるようになりました。

そこで、ネットオークションで新たに SII RP-E10 と CITIZEN CT-S255 を入手。
どちらも USB 接続モデルで、店舗で予備機として保管されていたものだそうです。
01.jpg

仮想シリアルポートの設定

RP-E10 用「SII RP Series Communication Software for Windows」をインストール。
02.png

「RP通信設定ユーティリティ」で仮想シリアルポートドライバーに切り替え。
03.png

CT-S255 用「シチズンサーマルプリンタ仮想 COM ポートドライバー」をインストール。
04.png

デバイスマネージャーで確認。RP-E10 は「COM3」、CT-S255 は「COM7」になりました。
05.png

Serial-LAN Converter の設定

servers.jsonで、 COM3 (または COM7) と TCP 9100ポートをつなぎます。

servers.json
"serial":{"host":"127.0.0.1","port":9100,"device":"COM3"}

ReceiptLine Designer の設定

printers.jsonに、RP-E10 と CT-S255 を登録。localhostがプリンターになります。

printers.json
{"rp_e10":{"host":"127.0.0.1","port":9100,"cpl":48,"encoding":"cp932","gamma":1.8,"upsideDown":false,"spacing":false,"cutting":true,"command":"sii"},"ct_s255":{"host":"127.0.0.1","port":9100,"cpl":48,"encoding":"cp932","gamma":1.8,"upsideDown":true,"spacing":false,"cutting":true,"command":"escpos"}}

テスト印刷

Node.js でサーバーを起動。ReceiptLine Designer で印刷できました。
この開発ツールの使い方はこちら

$ node designer.js

06.jpg

新しい印刷オプション

printers.jsonで行間隔と用紙カットの有無が選択できるようになりました。

行間隔

spacingtrueにすると、行間が空いて読みやすくなります。
ただし、罫線もしくは縦倍角以上の拡大文字がある行の間隔は変わりません。
07.jpg
ちなみに、前々回の記事は、上下反転印刷に対応できない中途半端な改造でした…

用紙カット

cuttingfalseにすると、印刷完了後に自動カットされなくなります。
08.jpg

また何か作ったら投稿します。ではまた!


Viewing all articles
Browse latest Browse all 9204

Trending Articles