Skip to content
This repository has been archived by the owner on Nov 5, 2019. It is now read-only.
/ node-printer Public archive
forked from tojocky/node-printer

Native node.js printer built with prebuild

Notifications You must be signed in to change notification settings

ekoeryanto/node-printer

 
 

Repository files navigation

Node Printer Prebuild

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

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

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 @pake/node-printer

How to use:

See examples

Author(s):

Contibutors:

Feel free to download, test and propose new futures

License:

The MIT License (MIT)

About

Native node.js printer built with prebuild

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 79.5%
  • JavaScript 14.9%
  • Python 2.7%
  • PowerShell 2.2%
  • Shell 0.7%