Giter Site home page Giter Site logo

pdf-to-printer's Introduction

Node.js PDF printing

Build Status codecov Buy Me A Coffee

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

  • โœ… Works on Windows and Unix-like operating systems.
  • โœ… Supports label printers such as Rollo and Zebra.

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 ptp from "pdf-to-printer";

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

API

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

Arguments

  1. pdf (string): PDF file to print. Will throw an error if no PDF specified. Note: It must be a path to a PDF existing in the file system. You may take a look at this example if you need to download your PDF file first.
  2. options (Object [optional]):
    • options.printer: (string [optional]): Print to the specified printer. Will print to the default printer if name not specified. If the printer name mistyped or specified printer does not exist, nothing will print.
    • options.unix: (array [optional]): Since we use lp to print documents on Unix-like operating systems you can pass any available in this list option.
    • options.win32: (array [optional]): And since we use SumatraPDF to print documents on Windows you can pass any available in this list option.

Returns

Promise<void>.

Examples

To print a PDF file to the default printer:

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

To print to a specific printer, add the name of the printer to options:

const options = {
  printer: "Zebra"
};

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

To scale the PDF to fit into the printable area of the paper on both Windows and Unix operating systems:

const options = {
  printer: "Zebra",
  unix: ["-o fit-to-page"],
  win32: ['-print-settings "fit"']
};

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

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

Returns

Promise<string[]>: List of available printers.

Examples

ptp
  .getPrinters()
  .then(console.log)
  .catch(console.error);

.getDefaultPrinter() => Promise<string>

Returns

Promise<string>: Default printer.

Examples

ptp
  .getDefaultPrinter()
  .then(console.log)
  .catch(console.error);

More examples

We have a few examples in the source code.

Contact

Please do not hesitate to report a bug or suggest an idea. You can do it here, or email me at artur.khusaenov at gmail dot com.

License

MIT

pdf-to-printer's People

Contributors

artiebits avatar brunoguschagas avatar ccarnivore avatar codacy-badger avatar dependabot-preview[bot] avatar dependabot[bot] avatar khannanova avatar milburngomes avatar oosswwaalldd avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.