Skip to content

thiagoelg/node-printer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node Printer Prebuild

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

npm version Prebuild Binaries and Publish

It just works with Node 12 because of @thiagoelg in his PR

Prebuild and CI integration courtesy of @ekoeryanto in his FORK

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


Below is the original README


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 @thiagoelg/node-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

Languages

  • C++ 75.1%
  • JavaScript 14.0%
  • PowerShell 5.0%
  • Shell 3.0%
  • Python 2.9%