Nirvana Playing Madonna

    pdf-to-printer
    TypeScript icon, indicating that this package has built-in type declarations

    5.3.0 • Public • Published

    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:

    Buy Me A Coffee

    License

    MIT

    Install

    npm i pdf-to-printer

    DownloadsWeekly Downloads

    2,678

    Version

    5.3.0

    License

    MIT

    Unpacked Size

    13.5 MB

    Total Files

    14

    Last publish

    Collaborators

    • artiebits