Read about our latest product features, solutions, and updates.

Why JavaScript can't print silently, why kiosk flags and PDF auto-print tricks keep failing in production, and the three architectures that actually work — with code for each.

A 200 from the print API means the job was accepted, not that paper came out. How to track print job status properly — the job lifecycle, polling vs webhooks, signature verification, failure reason codes, and the reconciliation sweep that catches what webhooks miss.

A detailed comparison of two cloud printing APIs — architecture, pricing including computer limits and overage rates, multi-tenant support, migration effort, and the cases where PrintNode is genuinely the better choice.

Once order volume grows, downloading label PDFs by hand becomes the fulfillment bottleneck. A complete automation pipeline — where labels come from, routing them to warehouse printers, multi-warehouse mapping, and failure handling — with runnable Node.js code.

How thermal receipt printers actually work — the ESC/POS commands for alignment, bold, sizing, and paper cut, runnable Node.js code to build a receipt, and three ways to deliver the bytes, including cloud RAW passthrough.

Three practical ways to print a PDF from a Node.js backend — lp/lpr, raw IPP, and a cloud printing API — with working code, their trade-offs, and how to get job status back reliably.

How Zebra label printers work — ZPL basics, dots and DPI, barcodes and QR codes, previewing labels without a printer, and delivering ZPL from your backend to warehouse printers with cloud RAW passthrough.