JS Print Manager

Print Commands & Files, Manage Printers & Scan Docs from Javascript

Key Features

  Send Raw Bytes, Text & Files to any Client Printer
  Print ESC/P, PCL, PostScript, ZPL, EPL, PDF, XLS, DOC
  Thermal, impact, dot-matrix, RFID, kiosk, POS, receipt
  WebScan support for TWAIN-compatible devices
  Cross-browser & Plugin-free (Pure JavaScript)
  Clients: Windows, Linux, Android, RPi & Mac!

  Download JSPrintManager   Buy

Advanced Client-side Printing & Scanning Solution for Javascript

Features at a Glance

 Raw Data Printing

 Advanced PDF Printing

 Advanced DOC Printing

 Advanced XLS Printing

Print Password Protected PDF, DOC & XLS files! The password protected file is set at server side and the password to unlock it is encrypted and embedded into the file as part of its metadata.

 Advanced TIFF Printing

 Advanced TXT Printing

 Scan Docs & Images

 Get Printers Info & Status

 Get Bluetooth Devices

 BIDI Serial Comm

 BIDI TCP/IP Comm

 BIDI Bluetooth Comm

 Trays & Bins Support

If the printer is installed in the client system through a Printer Driver, then you can specify to which Tray Name to send the print job. You can also get the list of trays & bins.

 Paper Names & Sizes

If the printer is installed in the client system through a Printer Driver, then you can specify the Paper Size if desired. You can also get the list of supported papers and their physical sizes.

 Media Types

If the installed printer supports Media Types, then you can get the list of supported media types and specify it when printing.

Print to any brand and type of client printers! Thermal Label Barcode printers, POS receipt printers, Impact printers, Ticket printers, RFID printers, Dot-Matrix, 3D Printers and more!

 Printer Connectivity

Client Printers Connectivity support: installed printers through Printer Driver (for USB connection), Shared Printers, Parallel Port (LPT), Bluetooth (RFCOMM) or Serial Port RS-232 (COM) as well as IP/Ethernet Network printers. On Linux & Mac OS, any kind of printer installed through CUPS is supported.

 Any Web Platform

Based on pure Javascript code, JSPrintManager.js can be used in any Web Platform like ASP.NET, PHP, Django, Ruby On Rails (RoR), Express.js, Blazor as well as in any Web Framework like Angular or React

 Cross Platform Client

Any Client platform can print from your Website. JSPrintManager App supports Windows, macOS / OS X, Linux, Android & Raspberry Pi (Linux ARM) devices. It's a very small client App without external dependencies!  No ActiveX,  No Flash,  No Silverlight,  No Java,  No .NET Framework

 Multi-Users Scenario



JSPrintManager Components

The Website/Javascript component

JSPrintManager is a Javascript object which is used in your website to generate "Client Print Jobs". A Client Print Job allows you to specify which client printer to use (Default, one specific Printer Name, show system Printer dialog box or some LPT, Bluetooth, TCP/IP or RS232 COM port) as well as the commands or files you want to print or send to the specified client printer.

 Download JSPrintManager.js Code

The Client-side component

 Download JSPrintManager Client App

 White Label / Custom Branding Support!

If you are integrating JSPrintManager into your own web application or solution, you may wish to apply your own branding in order to deliver a consistent experience to your customers. White Label (Custom Branding) Licensing for the JSPrintManager Client App is available!

  Android app is not currently available for custom branding!

How does it work?

After providing us your Company & Application Info as well as the required Artworks (for your app and installers), you'll get access to the ready-to-use custom installers for all the supported clients - Windows, macOS & Linux. You'll also get the binaries and scripts in case you wanted to digitally sign and notarize your custom branded app and/or use any other installer tool or technology!

 Your White Label App under Windows


The About Dialog JSPrintManager White Label About Dialog in Windows
The Binaries - Your Brand Folder & Icons JSPrintManager White Label Windows Binaries.png
The Windows Installer Welcome Page JSPrintManager White Label Installer.png
The Windows Installer Progress Page JSPrintManager White Label Installer Progress.png

 Your White Label App under macOS


The About Dialog JSPrintManager White Label About Dialog in macOS
The App - Your Brand Icon JSPrintManager White Label macOS App.png
The macOS Installer Welcome Page JSPrintManager White Label macOS Installer.png
The macOS Installer Summary Page JSPrintManager White Label macOS Installer Summary.png

 Your White Label App under Linux


The About Dialog JSPrintManager White Label About Dialog in Linux

 White Label App for Android is not available




 Print RAW data and commands to a full range of Client Printers from your Website



What's Raw Printing?

Raw Printing (a.k.a. "Raw Data Printing", "DOS-Mode Printing", "Line-Mode Printing") is the process of sending a stream of bytes (sometimes simple ASCII characters) directly to the target printer hardware. Those bytes are expressed by following the syntax and rules of the Command Language (a.k.a. Programming Language) supported by the target printer. Some Raw Printing Languages are composed of human-readable ASCII characters (like Zebra ZPL, EPL, etc) while others combine them with non-printable characters like is the case of the famous ESC/P, Postscript and PCL languages. Our JSPrintManager allows you to send those commands to your clients' printers from your website through an elegant and simple plugin-free approach.

 Windows   Linux / Raspberry Pi   macOS / OSX

Any Client Printer Brand or Type

JSPrintManager does support any kind of printers! That means you can print and send raw commands from your Website to any brand of Thermal Label Barcode printers, POS receipt printers, Impact printers, Ticket printers, RFID printers, Dot-Matrix printers, Kiosk printers, Cash Drawers/Registers, Slip printers, Multifunction printers, ID Card printers, Wristband printers, Passbook or Bankbook printers, Kitchen printers, Laser printers and Inkjet printers installed or available at the client machine.

Printer Connectivity Support

JSPrintManager does support local installed printers with the correct driver or the "Generic / Text Only" driver built-in Windows (for USB connection), Shared Networks printers with a UNC name, printers directly connected to Parallel Port (e.g. LPT1) Centronics, Bluetooth (RFCOMM) or Serial Port RS-232 (e.g. COM1) as well as IP/Ethernet Network printers (e.g. DNS printer name + Port 9001). On Linux, Raspberry Pi & Mac OS, JSPrintManager leverages built-in CUPS system so any kind of printer installed through CUPS is supported.

You can use JSPrintManager in your Website for sending and printing any printer programming languages like Epson ESC/P, HP PCL, PostScript, Zebra ZPL and Eltron EPL, Zebra XML-enabled format, Intermec IPL, Datamax-O'Neil DPL, Godex EZPL, Printronix ZGL, SATO SBPL, Avery-Dennison (Monarch) RCL, Wasp WPL, Citizen CLP, IBM Proprinter, Cognitive-TPG CPL, Dymo ESC codes, Samsung-Bixolon ESC/POS codes and SPL, TOSHIBA-TEC TCPL, TSC TSPL-EZ, DASCOM, etc. In fact, any other printer languages that can be expressed as an array of bytes are supported! Of course, you can also print ZPL or EPL shipping labels generated by postal services like UPS, FedEx, USPS, DHL, etc. In addition to native printer commands, you can also print PRN files!



In addition to print native commands, you can also use JSPrintManager solution to send and print common file formats like PDF, TXT, DOC, XLS, JPG, PNG, and so on.

Printing File Formats Requirements

  Windows Clients Linux, RPi & Mac Clients
DOC, DOCX Microsoft Word is required LibreOffice is required
XLS, XLSX Microsoft Excel is required LibreOffice is required
PDF Natively supported! Natively supported!
TIFF Natively supported! Natively supported!
TXT Natively supported! Natively supported!
JPEG Natively supported! Natively supported!
PNG Natively supported! Natively supported!
BMP Natively supported! Natively supported!
Printer Support You can print files to local installed printers only! You can print files to any installed printers in the CUPS system.