JS Print Manager

Print Raw Data & Files at Client-side from any Web platform using 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
  Cross-browser & Plugin-free (Pure JavaScript)
  Cross-Platform! Windows, Linux, RPi & Mac!


  Download JSPrintManager   Buy

Advanced Client-side Printing Solution for Javascript

Features at a Glance

 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 as well as in any Web Framework like Angular or React

 Raw Data Printing

 Advanced PDF Printing

In addition to print raw commands, you can also use JSPrintManager solution to send and print known file formats like PDF, TXT, DOC/x, XLS/x, JPG, PNG, and more! PDF, TXT, PNG, JPG and BMP are natively supported; others will require external software like Word, Excel, LibreOffice, etc.

 Cross Platform Client

Any Client platform can print from your Website. JSPrintManager App supports Windows, macOS / OS X, Linux & 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

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!

 Get Printers Info

 Tray & Paper Size

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 and specify a Paper Size if desired. The file formats supported by this feature are PDF, JPEG, PNG, BMP & TXT

 Printer Communication

Client Printers Connectivity support: installed printers through Printer Driver (for USB connection), Shared Printers, Parallel Port (LPT) 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.

 One-time Licensing Fee

JSPrintManager.js has a simple licensing model with one-time license fee. JSPrintManager Client App can be installed on any number of machines without paying any fees!

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

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 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!

Try Online Demo!


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!
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! Parallel, Serial and IP/Ethernet printers are NOT supported. You can print files to any installed printers through CUPS system.
Try Online Demo!