Commit Graph
4 Commits
Author SHA1 Message Date
randy d2900361b3 Add Epson test page: text sizes, EAN-13, QR, and a raster image
deploy / deploy (push) Successful in 9s
ReceiptBuilder#image implements GS v 0 raster printing (no image library
needed for the demo -- a procedural 8px checkerboard proves it end to
end). Skipped attempting the printer's real-time clock: unsure the
TM-T20II actually has a battery-backed RTC (that's usually an option on
higher-end models), not worth guessing at an undocumented command.
2026-09-13 12:09:52 +02:00
randy 148f7dc248 Unified /labels page (badges, edit, preview), mnemonic ESC/POS parser for the raw receipt field
deploy / deploy (push) Successful in 10s
- Saved labels/receipts now show on one page instead of split across
  Shipping labels and Receipts, each with a badge for its type/printer,
  Edit (name+content, in place), Print, and Delete.
- ZPL labels get a real visual preview via Labelary's public render API;
  ESC/POS ones show their raw content (no good general preview for that).
- The Receipts free-text field only ever encoded whatever was typed as
  literal printable characters -- pasting mnemonic ESC/POS notation
  (ESC/GS/LF as command names, 0xNN as raw bytes) just printed as text
  instead of being interpreted. Added a small line-based parser for that
  notation (ReceiptBuilder#raw appends already-resolved bytes verbatim),
  verified byte-for-byte against an example with align/bold/barcode/cut.
2026-09-13 11:21:46 +02:00
randy 66e2e7a5c0 Redesign: clear active nav state, Shipping labels + Receipts get free-text/raw print, shared label repository
deploy / deploy (push) Successful in 10s
- Home page is now just the print server overview, no more unrelated
  network links (3D printers, Cockpit) left over from when this was a
  general landing page.
- Navbar shows which section is active; Brother's per-printer buttons
  now live under a dedicated Brother nav item instead of always-visible.
- Shipping labels: paste raw ZPL directly (no need to save to a file
  first), with a Labelary preview link alongside it.
- Receipts: paste already-formatted ESC/POS text directly, printed as-is.
- Both can save what they just printed into a shared label repository
  (lib/label_repository.rb, one JSON file per label under data/labels/)
  for reprinting later -- saving happens independently of whether the
  print itself succeeds, so a failed/offline printer doesn't lose the
  content.
2026-09-13 11:11:12 +02:00
randy afae57aff4 Add Epson TM-T20II receipt printing (title/body/QR, no ESC/POS knowledge needed)
deploy / deploy (push) Successful in 8s
Custom ReceiptBuilder instead of the escpos gem -- its diacritics handling
needed the same manual UTF-8->CP852 encode call anyway, based on earlier
experiments in ~/test/epson/.
2026-09-13 10:42:52 +02:00