3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レシートプリンターでプリクラを作るぞ!【レシートプリント倶楽部】

3
Last updated at Posted at 2026-02-26

ことのはじまり

わたくしモリタロウはレシートプリンターを使ったプロダクトを開発しています。
このプロダクトのエンジニアは一家に一台レシートプリンターを装備しています。

Image from Gyazo

日常の開発では、皆さんもよく見るであろうテキスト情報の印刷を行っていますが、ふとしたきっかけから「レシートプリンターって画像も印刷できるんだろうか?」という疑問が発生しました。

Image from Gyazo

利用しているレシートプリンターはEPSON製のTM-m30Ⅲ-Hで、公式SDKが充実しています。

SDKを試しに覗いてみるとなんと「addImage」というそれらしいメソッドがあるではありませんか。

Image from Gyazo

これを使ってコードをちょちょいと組んでみるとあら不思議。
一瞬で撮影した画像がレシートに印刷できました。

Image from Gyazo

レシートはテキスト情報が印刷されているものという自分の中の常識が覆りました。

結果を報告。

Image from Gyazo

思ったよりウケてくれました✌️ 嬉しい!!✌️✌️
これがキッカケで、もう少し手の込んだアプリに落とし込んでみました。

つくったもの

成果物はコチラ。(音デルヨ)

音楽に合わせてポーズを指定されていきます🕺💃
音楽のシャッター音に合わせてオートで写真が撮られていきます📸
プレビュー画面で撮られた画像を選択して、レシートに印刷されるという流れです🖨️

※流れる音楽のタイミングに合わせてポーズ指定のUI切り替えやシャッターを切っていくのが一番難しかった...(小声)

レシートプリンターの制御コードを簡単に抜粋しておきます。
色々な印刷指示方法があるのですが、同ネットワークにいる場合はローカルIPを指定することでWebブラウザのJavaScriptから印刷することができます。

// 画像のキャンバス情報
const ctx = printCanvas.getContext("2d");

// テキスト情報の印字
printer.addTextAlign(printer.ALIGN_CENTER)
  .addTextLang("ja")
  .addText("ツナギメオフライン.5 2026/02/26\n@LAYERED")
  .addFeedLine(1);  

// 画像情報の印字
printer.addImage(
  ctx,
  0,
  0,
  printCanvas.width,
  printCanvas.height,
  printer.COLOR_1,
  printer.MODE_MONO,
);

// レシート末尾に余白を作るために少し送る
printer.addPageBegin().addPageArea(0, 0, 276, 80).addPageEnd();

// カット
printer.addCut(printer.CUT_FEED);

// 送信(これでプリンターへの印刷実行)
printer.send();

レシートプリンターは出力の速度(出てくる紙の速度)を設定できますが、画像を印刷する時は最も遅い設定にした方が綺麗に印刷できるというTipsを置いておきます。

Image from Gyazo

早すぎると感熱紙にうまいこと印字できず、ドットなどが荒くなる模様。

Image from Gyazo

レシートは紛失する可能性がありますし、感熱紙なので財布に入れておいたら擦れて思い出の写真が薄れていく可能性もあります。

ただそれが、何でもデータとして残る今の時代に「儚さ」という付加価値をつけてくれるのです。

Image from Gyazo

パイオニアじゃなくても

どうやらこのレシートで画像の印刷ですが、若い世代の中ではある程度の認知度があるようです。
調べてみると韓国で流行っていて、日本でも結婚式で活躍しているそうな。(全く知らなかった)
やっぱ「儚さ」なんでしょうね。

1~3万円程度でレンタルできる模様です!
今回僕が使ったレシートプリンターの単価は約5万円。

完全に二番煎じなアプリを形にしましたが、レシートプリンターで画像が印刷できるとなってくると色々な活用方法が頭に浮かんできます...

レシートはテキスト情報しか印刷できないという固定概念からのパラダイムシフトだ!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?