mike42/escpos-php
PHP receipt printer library for use with ESC/POS-compatible thermal and impact printers
v2.0.2
2.3M downloads/mo
#2632 most downloaded on Packagist
mike42/escpos-php
What this package is like to depend on
Last release 1 months ago
01 Jul 2026
Ships unpredictably
gaps range from 8 days to 4.1 years
Some releases are documented
notes for 9 of 20 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
20 releases · first in 2016
1 release in the last 12 months
see the full history below
Release timeline
20 releases · Feb 2016 to Jul 2026Releases
latest 20-
v2.0.230 Jun 2018Release notes
Open source →Bug and code fixes:
FilePrintConnectorthrowing warnings if it was closed twice. #595- Typo in
Printer.php, fixed by @wavoe
New printers tested:
- Bematech LR2000E
- DR-MP200
- Partner Tech RP320
- Xprinter XP-365B
- Zjiang ZJ-8220
-
v2.0.117 Mar 2018Release notes
Open source →This point release includes an updated copy of receipt-print-hq/escpos-printer-db, so that character encoding improvements are accessible on these printers:
- TM-T88IV
- TM-T88IV-SA
-
v1.5.218 May 2017Nothing published for this version
-
v1.5.112 Mar 2017Nothing published for this version
-
v1.4.203 Nov 2016Nothing published for this version
-
v1.4.124 Oct 2016Nothing published for this version
-
v1.2.125 Apr 2016Nothing published for this version
-
v5.001 Jul 2026Release notes
Open source →This change updates the supported PHP versions, and contains some breaking changes to improve compatibility with newer PHP installs.
Breaking changes to users who are upgrading:
- Support for PHP 7.3. 7.4, 8.0, and 8.1 has been removed. PHP 8.2 or higher is required from this version.
- Source files and public interfaces now use return type hinting, which may require code changes for those who have extended the library in their own projects.
Deprecations:
- The
DummyPrintConnectorhas been marked as deprecated and will be removed in a future release. The functionality is now available as theMemoryPrintConnector. This is a print connector which is used to capture input internally for testing, but is part of the public API.
-
v4.023 May 2022Release notes
Open source →This change updates the supported PHP versions, and contains some breaking changes to improve compatibility with newer PHP installs.
Breaking changes to users who are upgrading:
- Support for PHP 7.0. 7.1 and 7.2 has been removed. PHP 7.3 or higher is required from this version.
- Source files now use
declare(strict_types=1), which will cause errors for callers which are not using the correct scalar types.
Bug fixes:
- Using the GD library to load images would result in an error on PHP 8. This was due to a change to the GD interface from PHP 8.0.
- The example scripts now refer to
vendor/autoload.php, so they will work if this repository is checked out and used standalone. - PHPUnit has been updated to version 9.0.
-
v3.013 Oct 2019Release notes
Open source →Breaking changes for developers who are upgrading:
- Support for PHP 5.x and HHVM has been removed. PHP 7.0 or higher is required from this version.
- The
intlPHP extension is now required (see docs). This replaces the use ofmbstringandiconv, which are no longer used. - composer is now required to correctly load dependencies, where it was previously optional.
Printer::text()will now throw anExceptionif invalid UTF-8 is supplied. UsePrinter::textRaw()if you are encoding text manually.- Printer-specific sub-classes of
CapabilityProfilehave been removed (eg.StarCapabilityProfile). Use a named profile withCapabilityProfile::load()instead. - The API now uses scalar and return type hinting in some places, which makes it more strict than it was previously.
New features:
- Inclusion of new printer profiles from escpos-printer-db.
- gfx-php has been added as a dependency, which allows image processing to work without
gdorimagickbeing present in most cases. - A new
MultiplePrintConnectorhas been added, which allows developers to route identical print data to multiple printers simultaneously.
Experimental features:
- A new
UnifontPrintBuffer, which uses glyphs from a GNU Unifont hex file as an alternative to the on-board printer fonts. See the includedunifont-print-buffer.phpexample for usage.
Bug fixes:
- Added checks where temporary files are created, to give clearer error messages on setups where the temp directory is misconfigured, see #362
-
v2.205 Oct 2019Release notes
Open source →New features:
- A RawBT connector and example
Newly tested printers:
- Bixolon SRP-350Plus
- CHD TH-305N
- Elgin i9
- Everycom EC-58
- Gainscha GP-2120TF
- SAM4S GIANT-100DB
- SEYPOS PRP-96
- Solux SX-TP-88300
- SNBC BTP-R880NPIII
- TVS RP45 Shoppe
- Zjiang ZJ-8250
-
v2.117 Feb 2019Release notes
Open source →New features:
- Upside-down printing is now implemented #615
- Include updates from escpos-printer-db
Bug and code fixes:
- Modify validation code in
WindowsPrintConnectorfor PHP 7.3 compatibility - Add to type hints where possible, replace old usages in examples, and correctly label the namespace for some exceptions
Newly tested printers:
- OKI RT322
- ithaca ITherm 280
- Rongta RP80USE
- Sewoo SLK-TS400
- Approx APPPOS80AM
- QPOS Q58M
- HOIN HOP-H58
- Xeumior SM-8330
- Birch PRP-085III
- 3nStar RPT-008
- POSLIGNE ODP200H-III-G
-
v2.013 Mar 2018Release notes
Open source →You must have PHP 5.4 or HHVM 3.21 or higher to upgrade to this version.
New features:
Bug fixes:
- WindowsPrintConnector on Linux will now use SMB2 due to SMB3 compatibility issues affecting printing to newer Windows versions. Contributed by @1dal #488
Tested on new devices:
- Senor TP-100
- 3nStrat POS-08
- Black Copper BC-85AC
- Nyear NP100
- Star BSC10
- Sicar POS-80
- Bematech-4200-TH
- Xprinter XP-90, XP-58 Series
- Dapper-Geyi Q583P
- Epson EU-T332C
-
v1.605 Nov 2017Release notes
Open source →New features:
- Release paper function for Epson TM-U295 #417
- Allow
+character in passwords for Windows shared printers #392
Tested on new devices:
- Citizen CT-S310II
- Epson TM-T20II
- Epson TM-T81
- Epson TM-T88II
- Epson TM-U590 and TM-U590P
- Epson TM-U295
- Equal (EQ-IT-001) POS-58
- Metapace T-25
- Nexa PX700
- Orient BTP-R580
- Star TSP100III FuturePRNT
- XPrinter XP-Q20011
- Xprinter XP-80C
This is expected to be the final release in the 1.x series. Newer versions will drop support for some end-of-life PHP versions.
-
v1.510 Feb 2017Nothing published for this version
-
v1.424 Oct 2016Nothing published for this version
-
v1.319 Jul 2016Nothing published for this version
-
v1.210 Apr 2016Nothing published for this version
-
v1.127 Mar 2016Nothing published for this version
-
v1.024 Feb 2016Nothing published for this version