WebClientPrint for PHP

Print Raw Data & Files at Client-side from PHP Websites

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 (HTML + JavaScript)
  Cross-Platform! Windows, Linux, RPi & Mac!


  Download   Buy

Advanced Client Data Print for PHP

WebClientPrint for PHP is a lightweight and plugin-free solution for Client-side Printing scenarios for Windows, Linux, Raspberry Pi (Linux ARM) & Mac clients, exclusively designed for PHP website projects including support for PHP MVC Frameworks like Laravel projects. With our WebClientPrint solution, you can easily send raw data, text and native commands to printers installed at the client machine without showing or displaying any print dialog box! You can also print common file formats like PDF, TXT, DOC, XLS, JPG, PNG, TIFF (Multipage), and many more!

 Cross Platform Client

Any Client platform can print from your PHP Website. We support Windows, macOS / OS X, Linux & Raspberry Pi (Linux ARM) devices. Very small footprint clients without external dependencies!

 Raw Data Printing

Send any raw data supported by the client printer like Epson ESC/P, HP PCL, PostScript, Zebra ZPL and Eltron EPL, and more!. Shipping labels generated by postal services like UPS, FedEx, USPS, DHL as well as PRN files are also supported!

 Advanced PDF Printing

Print PDF files without requiring Adobe Reader or any other external software! Advanced Printing settings include Tray Name, Paper Size, Print Rotation, Pages Range, Auto Rotate, Auto Center, and more!

 Print Images & Docs

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

 Advanced DOC Printing

Print DOC files silently with Advanced Printing settings including Password-protected files, manual Duplex, Pages Range, and more!

NOTE: For Windows clients only. Requires Microsoft Word 97+!

 Advanced XLS Printing

Print XLS files silently with Advanced Printing settings including Password-protected files, Pages Range, and more!

NOTE: For Windows clients only. Requires Microsoft Excel 97+!

 Print Files With Password Protection

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

 Print Files With Encryption

Encrypt and Print PDF, TXT, JPG & PNG files! WebClientPrint uses RSA + AES encryption. The file to print is encrypted in the server side and stored at the client machine disk. At printing time, WCPP will decrypt the file in system memory to print it.

 Print to Any Printer

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

 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

 Get Printers Info

Besides getting the list of installed printers available in the client machine, you can also get further details like DPI Resolution, PortName, Is Connected, Is Shared, Is Local, Is Network, Duplex, as well as the list of supported Papers and list of trays/bins!

 Printer Communication

Client Printers Connectivity support: installed Windows printers (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.

WebClientPrint is a Client-Server solution

The Server-side component

  • The WebClientPrint.php file contains classes that are used in your PHP website to generate "Client Print Jobs". A Client Print Job allows you to specify:
    • What client printer to use, for example:
      • Use "the Default printer" of the client machine. Printing will be performed without displaying any dialog!
      • Use "a specific installed printer's name" on the client machine. Printing will be performed without displaying any dialog! This also applies for Shared Printers on the client machine network with a UNC name/path!
      • Display a "printer dialog" to let the user to select the printer
      • Explicitly specify the client printer settings for parallel (LPT) Centronics or serial RS-232 ports or IP/Ethernet Network printers.
    • And the commands you want to print or send to the client printer.
Server System Requirements
  • PHP 5.3+
  • phpseclib 1.0+ (Only for Password-protected files & Encryption features)

The Client-side component

  • The WebClientPrint Processor (WCPP) utility that needs to be installed at the client machine just once. WCPP is a lightweight native app (without any dependencies) that processes all the "Client Print Jobs" generated by the server-side component.
Client System Requirements
  • Windows Clients
    • OS: Windows XP, Vista, Windows 7 or Windows 8.x (Desktop-mode), Windows 10
    • BROWSER: Internet Explorer 6+ (IE10/11 in Desktop Mode), Edge, Mozilla Firefox 2.0+, Google Chrome 11+, Opera 9.0+, Safari 3.0+
  • Linux Clients
    • OS: Debian 6+ (GNOME), Ubuntu 10.04+ (Unity/GNOME), Linux Mint 7+ (GNOME), Fedora 11+ (GNOME), CentOS 5.3+ (GNOME)
    • BROWSER: Mozilla Firefox shipped with the OS or latest version, Google Chrome latest version
  • Raspberry Pi Clients
    • OS: Raspbian Jessie+
    • BROWSER: Iceweasel/Mozilla Firefox, Chromium
  • Mac Clients
    • OS: Mac OS X 10.7+ / Intel
    • BROWSER: Safari shipped with the OS or latest version, Mozilla Firefox latest version, Google Chrome latest version


Print RAW data to a full range of Client Printers from PHP

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 WebClientPrint allows you to send those commands to your clients' printers from PHP websites through an elegant and simple plugin-free approach.

 Windows   Linux / Raspberry Pi   macOS / OSX

Any Client Printer Brand or Type

WebClientPrint does support any kind of printers! That means you can print and send raw commands from your PHP 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

WebClientPrint 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, WebClientPrint leverages built-in CUPS system so any kind of printer installed through CUPS is supported.

You can use WebClientPrint in your PHP 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!

 Print ESC/POS   Print Zebra ZPL   Print Zebra EPL Try Online Demo!


In addition to print native commands, you can also use WebClientPrint solution to send and print common file formats like PDF, TXT, DOC, XLS, JPG, PNG, TIFF (Multipage), and so on. And by using the PrintFileGroup class, you can now printer multiple types of files to different printers available at the client machine!

Printing File Formats Requirements

  Windows Clients Linux, Raspberry Pi & 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!
TIF 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 for printing files but for printing raw commands. You can print files to any installed printers through CUPS system.

Image Formats Support

Windows or OS/2 Bitmap File (*.BMP)
Dr. Halo (*.CUT)
DirectDraw Surface (*.DDS)
ILM OpenEXR (*.EXR)
Raw Fax format CCITT G3 (*.G3)
Graphics Interchange Format (*.GIF)
High Dynamic Range (*.HDR)
Windows Icon (*.ICO)
Amiga IFF (*.IFF, *.LBM)
JPEG-2000 codestream (*.J2K, *.J2C)
JPEG Network Graphics (*.JNG)
JPEG-2000 File Format (*.JP2)
Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE)
JPEG XR image format (*.JXR, *.WDP, *.HDP)
Commodore 64 Koala format (*.KOA)
Multiple Network Graphics (*.MNG)
Portable Bitmap (ASCII) (*.PBM)
Portable Bitmap (BINARY) (*.PBM)
Kodak PhotoCD (*.PCD)
Zsoft Paintbrush PCX bitmap format (*.PCX)
Portable Floatmap (*.PFM)
Portable Graymap (ASCII) (*.PGM)
Portable Graymap (BINARY) (*.PGM)
Macintosh PICT (*.PCT, *.PICT, *.PIC)
Portable Network Graphics (*.PNG)
Portable Pixelmap (ASCII) (*.PPM)
Portable Pixelmap (BINARY) (*.PPM)
Adobe Photoshop (*.PSD)
Sun Rasterfile (*.RAS)
RAW camera image (CRW/CR2, NEF, RAF, DNG, MOS, KDC, DCR, etc)
Silicon Graphics SGI image format (*.SGI)
Truevision Targa files (*.TGA, *.TARGA)
Tagged Image File Format (*.TIF, *.TIFF)
Wireless Bitmap (*.WBMP)
Google WebP image format (*.WEBP)
X11 Bitmap Format (*.XBM)
X11 Pixmap Format (*.XPM)
 Print PDF    Print Word Doc    Print Excel Spreadsheet Try Online Demo!


Use low-cost fast printers with PHP websites and save money!

Keep using your low-cost printer with PHP web apps and save money!

Have you invested money in fast and low-cost printing solutions? Maybe you have a lot of dot-matrix, impact, thermal printers? You'd like your web-based software (ERP, SCM, EAM, etc.) can take advantage of such printing technology but browser's printing functionality is a no-go? Yes, we know about it and that's why we're bringing to you the WebClientPrint solution. By using WebClientPrint for your PHP printing needs, you can keep your printing costs low and your old hardware (Windows & Linux PCs and printers) are not outdated!

Move your legacy POS System to PHP with confidence

Many legacy Point Of Sale (POS) Systems are not ported to web technologies because raw printing with POS printers (like dot-matrix, ticket receipt, thermal, impact) is not fast, clean and simple when using the browser's printing functionality. WebClientPrint fills that gap and is the ultimate solution you can leverage for raw and fast printing in PHP. So keep your low-cost printing hardware and move your old POS system to PHP with confidence!



Features at a Glance

Server-side Technology

  • WebClientPrint.php written entirely in PHP
  • Support for PHP MVC Frameworks like Laravel
  • Can be used in PHP 5.3+
  • Renders pure HTML/Javascript
  • Plug-in free approach! No ActiveX, No Flash, No Silverlight, No Java

Client-side Technology

  • WCPP Utility (a native app for Windows, Linux, Raspberry Pi & Mac without any dependencies!) Simple, small and easy one-time install! No ActiveX, No Flash, No Silverlight, No Java, No .NET Framework
  • Cross Browser (supporting old and modern versions of main brands) Internet Explorer, Edge, Mozilla Firefox, Google Chrome, Opera, Safari
  • Cross Platform support! Windows XP, Vista, Windows 7 or Windows 8.x (Desktop-mode), Windows 10; Debian & Red Hat-based distros with GNOME-based Desktop: Debian 6+, Ubuntu 10.04+, Linux Mint 7+, Fedora 11+, CentOS 5.3+; Mac (Intel): OS X 10.7+; Raspberry Pi: Raspbian Jessie+

Client-side Printers Support

  • WebClientPrint does support any kind of type and brand printers! Thermal Label Barcode printers, POS receipt printers, RFID printers, Dot-Matrix printers, Kiosk printers, ID Card printers, Laser, Inkjet and more...
  • Client Printers Connectivity support: installed Windows printers (for USB connection), Shared Printers on the client machine network with a UNC name/path, printers connected to Parallel Port (e.g. LPT1) Centronics or Serial Port RS-232 (e.g. COM1) as well as IP/Ethernet Network printers. On Linux, Raspberry Pi & Mac OS, any kind of printer installed through CUPS is supported.
  • Send any Printer Command Language! Most known like ESC/P, PCL, PostScript, ZPL, EPL, IPL, DPL, EZPL, ZGL, SBPL, RCL WPL, CLP, IBM Proprinter, CPL, Dymo ESC codes, SPL, TCPL, TSPL-EZ, DASCOM
  • Print Common File Formats! PDF, TXT, XLS, XLSX, DOC, DOCX, TIFF, JPEG, PNG and many more!

Development Tools Support

  • Any other IDE, Editor or Tool for developing PHP 5.3+ websites including PHP MVC Frameworks.

Installation and Deployment

  • Easy-to-install client packages
  • Simple Xcopy server deployment

Licensing

  • Website + Server-based licensing model
  • Unlimited Client Instalations without paying any fees