JSPM

  • Created
  • Published
  • Downloads 9127
  • Score
    100M100P100Q130067F
  • License MIT

A utility to print PDF files from Node.js and Electron

Package Exports

  • pdf-to-printer
  • pdf-to-printer/dist/bundle.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pdf-to-printer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Node.js PDF printing

Build Status codecov npm

A utility to print PDF files from Node.js and Electron.

  • Supports label printers such as Rollo and Zebra.
  • Works on Windows only.

If you are looking for a utility that will work on Unix-like operating systems, then take a look at https://github.com/artiebits/unix-print.

Installation

Install using yarn:

yarn add pdf-to-printer

Or npm:

npm install --save pdf-to-printer

Basic Usage

Print a PDF file to the default printer:

import { print } from "pdf-to-printer";

print("assets/pdf-sample.pdf").then(console.log);

API

A function to print a PDF document.

.print(pdf[, options]) => Promise<void>

Arguments

  1. pdf (string, Required): A path to the PDF file you want to print. Will throw an error if PDF not specified or not found.
  2. options (Object, Optional):
    • printer ( string, Optional): Send a file to the specified printer.
    • pages (string, Optional): Specifies which pages to print in the PDF document.
    • subset (string, Optional): Will print odd pages only when value is odd. Will print even pages only when even.
    • orientation (string, Optional): Can provide 90-degree rotation of contents (NOT the rotation of paper which must be pre-set by the choice of printer defaults).
    • scale (string, Optional): Supported names noscale, shrink and fit.
    • monochrome (boolean, Optional): Prints the document in black and white. Default is false.
    • side (string, Optional): Supported names duplex, duplexshort, duplexlong and simplex.
    • bin (string, Optional): Select tray to print to. Number or name.
    • paperSize (string, Optional): Specifies the paper size. Supported names A2, A3, A4, A5, A6, letter, legal, tabloid, statement.
    • silent (boolean, Optional): Silences SumatraPDF's error messages.
    • printDialog (boolean, Optional): displays the Print dialog for all the files indicated on this command line.
    • copies(number, Optional): Specifies how many copies will be printed.

Returns

Promise<void>: a Promise that resolves with undefined.

Examples

To print a PDF file to the default printer:

import { print } from "pdf-to-printer";

print("assets/pdf-sample.pdf").then(console.log);

To print to a specific printer:

import { print } from "pdf-to-printer";

const options = {
  printer: "Zebra",
};

print("assets/pdf-sample.pdf", options).then(console.log);

Example with a few print settings. It will print pages 1, 3, 5 and scale them so that they fit into the printable area of the paper.

import { print } from "pdf-to-printer";

const options = {
  printer: "Zebra",
  pages: "1-3,5",
  scale: "fit",
};

print("assets/pdf-sample.pdf", options).then(console.log);

.getPrinters() => Promise<Printer[]>

A function to get a list of available printers.

Returns

Promise<Printer[]>: a Promise that resolves with a list of available printers.

Examples

import { getPrinters } from "pdf-to-printer";

getPrinters().then(console.log);

.getDefaultPrinter() => Promise<Printer | null>

A function to get the default printer info.

Returns

Promise<Printer | null>: a Promise that resolves with the default printer info, or null if there is no default printer.

Examples

import { getDefaultPrinter } from "pdf-to-printer";

getDefaultPrinter().then(console.log);

If you rely on this package, please consider supporting it:

Buy Me A Coffee

License

MIT