Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

tojocky/node-printer

Open more actions menu

Repository files navigation

node-printer

Native bind printers on POSIX and Windows OS from Node.js, electron and node-webkit.

Linux Windows Dependencies

If you have a problem, ask question to Gitter or find/create a new Github issue

Reason:

I was involved in a project where I need to print from Node.JS. This is the reason why I created this project and I want to share my code with others.

Features:

  • no dependecies;
  • native method wrappers from Windows and POSIX (which uses CUPS 1.4/MAC OS X 10.6) APIs;
  • compatible with node v0.8.x, 0.9.x and v0.11.x (with 0.11.9 and 0.11.13);
  • compatible with node-webkit v0.8.x and 0.9.2;
  • getPrinters() to enumerate all installed printers with current jobs and statuses;
  • getPrinter(printerName) to get a specific/default printer info with current jobs and statuses;
  • getPrinterDriverOptions(printerName) (POSIX only) to get a specific/default printer driver options such as supported paper size and other info
  • getSelectedPaperSize(printerName) (POSIX only) to get a specific/default printer default paper size from its driver options
  • getDefaultPrinterName() return the default printer name;
  • printDirect(options) to send a job to a specific/default printer, now supports CUPS options passed in the form of a JS object (see cancelJob.js example). To print a PDF from windows it is possible by using node-pdfium module to convert a PDF format into EMF and after to send to printer as EMF;
  • printFile(options) (POSIX only) to print a file;
  • getSupportedPrintFormats() to get all possible print formats for printDirect method which depends on OS. RAW and TEXT are supported from all OS-es;
  • getJob(printerName, jobId) to get a specific job info including job status;
  • setJob(printerName, jobId, command) to send a command to a job (e.g. 'CANCEL' to cancel the job);
  • getSupportedJobCommands() to get supported job commands for setJob() depends on OS. 'CANCEL' command is supported from all OS-es.

How to install:

npm install printer

How to use:

See examples

Author(s):

Contibutors:

  • Thiago Lugli, @thiagoelg
  • Eko Eryanto, @ekoeryanto

Feel free to download, test and propose new futures

License:

The MIT License (MIT)

About

Native node.js printer

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 26

Morty Proxy This is a proxified and sanitized view of the page, visit original site.