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

簡単レシート印刷 receiptline を導入してみた

$
0
0

街のお店で iPad のレジをよく見かけるようになりましたね。
一般的にタブレット POS と呼ばれています。

おかげで?レシートプリンターがネットオークションやフリマアプリに出品されるようになりました。
業務用ってワクワクしませんか?個人でも利用できる業務用スーパーも人気がありますよね。

ネットには Raspberry Pi でレシートプリンターの制御にチャレンジしたブログもあって楽しそうです。
レシートプリンターの落札を試みつつ、レシート印刷にトライしてみようと思います。

レシートプリンターで印刷するには

レシートプリンターで印刷する手段はいろいろあるので、独断で整理してみました。

  • デスクトップアプリ向け
    • Windows プリンタードライバー
    • Linux や Mac の CUPS ドライバー
  • スマートフォン・タブレットアプリ向け
    • iOS 用 SDK ライブラリ
    • Android 用 SDK ライブラリ
  • コンソールとエスケープシーケンスが好きな人向け
    • StarPRNT コマンド
    • ESC/POS コマンド
  • 玄人向け
    • OPOS (Win32, .NET)
    • JavaPOS
  • オープンソース
    • GitHub に多数
    • Python, JavaScript, Java, PHP, Ruby, Go, ...

メーカーさんが提供しているものは、ドキュメントもサポートも充実しています。
ここで記事にする意味があるのは、オープンソース一択と言えると思います。

多種多様なオープンソースの中に、日本発のプロジェクトもありました。
https://github.com/receiptline/receiptline

JavaScript / Node.js の変換ライブラリです。
テキストを入力すると、SVG 画像やレシートプリンターのコマンドを出力します。
アスキーアート的に文字を並べると清書してくれるイメージですね。

おまけにプレビューできる開発ツールが付いています。
プレビューに対応する印刷手段は意外に少ないかもしれません。
これならレシートプリンターを持っていなくても試すことができます。

receiptline をセットアップ

開発する人

npm でインストール・実行して、http://localhost:10080/を開きます。
https://www.npmjs.com/package/receiptline

$ npm i receiptline
$ cd node_modules/receiptline
$ npm start

一般の人

GitHub からダウンロード・展開して、designer/index.htmlを開きます。
https://github.com/receiptline/receiptline

hello, world!

開発ツールを使ってみましょう。

01.png

左側の黒い編集エリアに文字を入力してみます。
編集エリアの文字の大きさは Zoom スライダーで適当に調節。

hello, world!

入力すると、右側の白いレシート用紙にプレビューが表示されます。
文字列はレシート用紙の中央に配置されました。

02.png

レシート用紙の幅は Width スライダーで変更することができます。
単位はインチ・ミリではなく文字数 (桁数) となっています。

03.png

財布の中に入っていたレシートの多くは、1 行あたり漢字 16 文字 (32 桁) でした。
ところが、文字数が違うレシートや、幅広のレシートも・・・

混沌のレシート世界

昔の明和電機社長ブログから引用。
“レシートの印刷の大混乱ぶり、どうにかならんものか・・・”
https://www.maywadenki.com/blog/2011/05/17/post-bbf8/

これは今でも変わっていないと思います。
果たして混沌のレシート世界に秩序をもたらすことができるのか?

次回は文字装飾を試してみようと思います。


Viewing all articles
Browse latest Browse all 8882

Trending Articles