Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Escpos Php Laravel Package

mike42/escpos-php

PHP library for ESC/POS receipt printers. Print text, images, barcodes, QR codes and cut paper over USB, network, serial or Windows share. Includes connectors and utilities for common thermal POS printers and cash drawers.

View on GitHub
Deep Wiki
Context7
v5.0

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 DummyPrintConnector has been marked as deprecated and will be removed in a future release. The functionality is now available as the MemoryPrintConnector. This is a print connector which is used to capture input internally for testing, but is part of the public API.
v4.0

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

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 intl PHP extension is now required (see docs). This replaces the use of mbstring and iconv, which are no longer used.
  • composer is now required to correctly load dependencies, where it was previously optional.
  • Printer::text() will now throw an Exception if invalid UTF-8 is supplied. Use Printer::textRaw() if you are encoding text manually.
  • Printer-specific sub-classes of CapabilityProfile have been removed (eg. StarCapabilityProfile). Use a named profile with CapabilityProfile::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 gd or imagick being present in most cases.
  • A new MultiplePrintConnector has 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 included unifont-print-buffer.php example 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.2

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

New features:

  • Upside-down printing is now implemented #615
  • Include updates from escpos-printer-db

Bug and code fixes:

  • Modify validation code in WindowsPrintConnector for 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.0.2

Bug and code fixes:

  • FilePrintConnector throwing 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.1

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
v2.0

You must have PHP 5.4 or HHVM 3.21 or higher to upgrade to this version.

New features:

  • UriPrintConnector helper for initializing connectors based on a URI. Contributed by @evsar3 #314

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

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

This release includes the addition of a timeout parameter to NetworkPrintConnector.

Tested on new devices:

  • Rongta RP58-U
v1.5.1

Changes are limited to build and documentation fixes.

Bug fixes:

  • Dependency introduced in 1.5 broke installation for some users #300
  • Requirement for imagick to be installed for some features was not documented #262

Tested on new devices:

  • gprinter GP-U80300I
  • gprinter GP-U80160I
  • SPRT SP-POS88V
  • Xprinter F-900
v1.5

Highlights of this release:

New device profiles included from receipt-print-hq/escpos-printer-db:

  • Aures OCD-300 customer display (use AuresCustomerDisplay class)
  • ZJ-5890

New connector:

Build and documentation fixes:

  • PHP 7.1 support
  • Code coverage now included in build
  • FAQ updates
  • New developer guide

Bug fixes:

  • WindowsPrintConnector failed to print when LPT1 connection is used - #277

Tested on new devices:

  • Star TSP100 ECO
  • Metapace T-1
  • Excelvan HOP-E200
  • Epson TM-T88V
v1.4.2
  • Add to list of printers known to work
  • Fixes to allow the use of Windows line endings in input text #209
v1.4

Highlights of this release:

  • Added support for PD417 2D codes #170
  • Added support for line spacing command #131 #167
  • Removed printer capability data, this is now shared with python-escpos and maintained at receipt-print-hq/escpos-printer-db #191
  • Removed of broken printer status feature, to return in a later release #165
  • TTF fonts are now supported, as a result of fixes to ImagePrintBuffer and the Arabic text example #168
  • Improved error output for WindowsPrintConnector, where smbclient is not installed #168

This release also contains a large number of non-code updates. See all issues and pull requests in this milestone.

v1.3
  • Added left/right margins & line spacing features #130
  • Added Vietnamese text support on Epson-branded printers #140
  • Corrected class import bug in EscposImage #145
v1.2.1
  • Added barcode length example #112
  • Removed use of CP851 for rendering Greek, due to incompatible definitions of the codepage #62
  • Added dithering example #97
  • Merged barcode width feature #114
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle