node-printer

Native node.js printer

  • 所有者: tojocky/node-printer
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

node-printer

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

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:

Make sure you have Python 2.x installed on your system. Windows users will also require Visual Studio (2013 Express is a good fit)

from npmjs.org

Prebuilt node builds

npm install printer --target_arch=ia32
npm install printer --target_arch=x64

Prebuilt electron builds

Say you are installing 1.4.5 electron. Please check the Releases for supported Electron versions

npm install printer --runtime=electron --target=1.4.5 --target_arch=x64
npm install printer --runtime=electron --target=1.4.5 --target_arch=ia32

For building after install

npm install -g node-gyp
npm install printer --msvs_version=2013  --build-from-source=node_printer

or direct from git:

npm install git+https://github.com/tojocky/node-printer.git

if you want to to run in nwjs then rebuild the module with nw-gyp:

npm install -g nw-gyp
cd node_modules/printer
nw-gyp rebuild

For specific distribution --dist-url node-gyp parameter should be used. Example for electron:

node-gyp rebuild --target=0.37.4 --arch=x64 --dist-url=https://atom.io/download/atom-shell

Ubuntu User :
You need to install libcups2-dev package
sudo apt-get install libcups2-dev

How to use:

See examples

Author(s):

Contibutors:

Feel free to download, test and propose new futures

License:

The MIT License (MIT)

主要指標

概覽
名稱與所有者tojocky/node-printer
主編程語言C++
編程語言JavaScript (語言數: 5)
平台
許可證
所有者活动
創建於2012-06-29 11:28:38
推送於2022-12-12 06:47:50
最后一次提交2021-09-07 09:09:04
發布數2
最新版本名稱0.4.0 (發布於 )
第一版名稱v0.2.1 (發布於 )
用户参与
星數1.6k
關注者數49
派生數455
提交數321
已啟用問題?
問題數279
打開的問題數119
拉請求數31
打開的拉請求數8
關閉的拉請求數17
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?