Native printer bindings for Node.js on POSIX and Windows. Fork of @thiagoelg/node-printer with Node 24+ support.
- Node 24/25 support — C++20 build, updated V8 compatibility
- VS2026 compatibility — fixed C++ two-phase name lookup for MSVC 18+
- No Python dependency — build uses Node.js instead of Python for source file discovery
- Updated native dependencies (
nan2.25+,node-abi4.26+) - macOS arm64 (Apple Silicon) prebuild support
- Modernized GitHub Actions (v4, Node 24)
- Minimum Node version: 20.0.0
npm install @luckykiet/node-printerThe native addon compiles from source if no prebuild is available.
macOS: Xcode Command Line Tools (ships with CUPS)
xcode-select --installLinux (Debian/Ubuntu):
sudo apt-get install libcups2-devWindows: Visual Studio Build Tools with C++ workload
const printer = require('@luckykiet/node-printer');const printer = require('@luckykiet/node-printer');
// List printers
console.log(printer.getPrinters());
// Print raw text
printer.printDirect({
data: 'Hello from Node.js!',
printer: printer.getDefaultPrinterName(),
type: 'TEXT',
success: (jobId) => console.log('Job ID:', jobId),
error: (err) => console.error(err),
});See the examples directory for more usage patterns.
- Ion Lupascu — original author (tojocky/node-printer)
- Thiago Lugli (@thiagoelg) — Node 12+ support & prebuild CI
- Eko Eryanto (@ekoeryanto) — prebuild integration
