5.3.7 • Published 1 year ago

@abpncio/pdf-to-printer v5.3.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Fork from original module

This just reverts back to an older version of SumatraPDF that fixes the document being so large when being printed or spooled.

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);

Sponsor this project

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

License

MIT