Ecp-500 Thermal Printer Drivers For Mac
ESC/POS Print Driver for PHP This project implements a subset of Epson's ESC/POS protocol for thermal receipt printers. It allows you to generate and print receipts with basic formatting, cutting, and barcodes on a compatible printer. The library was developed to add drop-in support for receipt printing to any PHP app, including web-based point-of-sale (POS) applications. Compatibility Interfaces and operating systems This driver is known to work with the following OS/interface combinations: Linux Mac Windows Ethernet USB Not tested USB-serial Yes Yes Yes Serial Yes Yes Yes Parallel Not tested Yes SMB shared No CUPS hosted No Printers Many thermal receipt printers support ESC/POS to some degree. This driver has been known to work with:. 3nStrat POS-08. AURES ODP-333.
- Ecp-500 Thermal Printer Drivers For Mac Download
- Mini Thermal Printer Imp001b Driver
- Ecp-500 Thermal Printer Drivers For Mac Free
AURES ODP-500. Bematech-4200-TH. Bematech LR2000E.
Bixolon SRP-350III. Black Copper BC-85AC. Citizen CBM1000-II. Citizen CT-S310II. Dapper-Geyi Q583P.
Daruma DR800. DR-MP200 (manufacturer unknown). EPOS TEP 220M. Epson EU-T332C.
Epson FX-890 (requires feedForm to release paper). Epson TM-T20. Epson TM-T20II. Epson TM-T70. Epson TM-T70II. Epson TM-T81. Epson TM-T82II.
Epson TM-T88II. Epson TM-T88III.
Epson TM-T88IV. Epson TM-T88V. Epson TM-U220. Epson TM-U295 (requires release to release slip). Php hello-world.php foo.txt lpr -o raw -H localhost -P printer foo.txt A local or networked printer on a Windows computer is mapped in to a file, and generally requires you to share the printer first: php hello-world.php foo.txt net use LPT1 server printer copy foo.txt LPT1 del foo.txt If you have troubles at this point, then you should consult your OS and printer system documentation to try to find a working print command. Using a PrintConnector To print receipts from PHP, use the most applicable for your setup.
Ecp-500 Thermal Printer Drivers For Mac Download
The connector simply provides the plumbing to get data to the printer. For example, a NetworkPrintConnector accepts an IP address and port. Use Mike42 Escpos PrintConnectors FilePrintConnector; use Mike42 Escpos Printer; $connector = new FilePrintConnector( '/dev/ttyS0 '); $printer = new Printer( $connector); For each OS/interface combination that's supported, there are examples in the compatibility section of how a PrintConnector would be constructed. If you can't get a PrintConnector to work, then be sure to include the working print command in bug. Using a CapabilityProfile Support for commands and code pages varies between printer vendors and models. By default, the driver will accept UTF-8, and output commands that are suitable for Epson TM-series printers. When trying out a new brand of printer, it's a good idea to use the 'simple' CapabilityProfile, which instructs the driver to avoid the use of advanced features (generally simpler image handling, ASCII-only text).
Use Mike42 Escpos PrintConnectors WindowsPrintConnector; use Mike42 Escpos CapabilityProfile; $profile = CapabilityProfile::load( 'SP2000 ') $connector = new WindowsPrintConnector( 'smb://computer/printer '); $printer = new Printer( $connector, $profile); For a list of available profiles, or to have support for your printer improved, please see the upstream project. Tips & examples On Linux, your printer device file will be somewhere like /dev/lp0 (parallel), /dev/usb/lp1 (USB), /dev/ttyUSB0 (USB-Serial), /dev/ttyS0 (serial). On Windows, the device files will be along the lines of LPT1 (parallel) or COM1 (serial).
Use the WindowsPrintConnector to tap into system printing on Windows (eg., or ) - this submits print jobs via a queue rather than communicating directly with the printer. A complete real-world receipt can be found in the code of in. It includes justification, boldness, and a barcode. Other examples are located in the directory.
Available methods construct(PrintConnector $connector, CapabilityProfile $profile) Construct new print object. Parameters:. PrintConnector $connector: The PrintConnector to send data to. CapabilityProfile $profile Supported features of this printer. If not set, the 'default' CapabilityProfile will be used, which is suitable for Epson printers. See for ways to open connections for different platforms and interfaces. Barcode($content, $type) Print a barcode.
Parameters:. string $content: The information to encode. int $type: The barcode standard to output. If not specified, Printer::BARCODECODE39 will be used.
Currently supported barcode standards are (depending on your printer):. BARCODEUPCA. BARCODEUPCE. BARCODEJAN13. BARCODEJAN8. BARCODECODE39. BARCODEITF.

BARCODECODABAR Note that some barcode standards can only encode numbers, so attempting to print non-numeric codes with them may result in strange behaviour. BitImage(EscposImage $image, $size) See below. Cut($mode, $lines) Cut the paper.
Parameters:. int $mode: Cut mode, either Printer::CUTFULL or Printer::CUTPARTIAL. If not specified, Printer::CUTFULL will be used. int $lines: Number of lines to feed before cutting. If not specified, 3 will be used. Feed($lines) Print and feed line / Print and feed n lines. Parameters:.
int $lines: Number of lines to feed feedForm Some printers require a form feed to release the paper. On most printers, this command is only useful in page mode, which is not implemented in this driver. FeedReverse($lines) Print and reverse feed n lines. Parameters:. int $lines: number of lines to feed. If not specified, 1 line will be fed.
Graphics(EscposImage $image, $size) Print an image to the printer. Parameters:. EscposImage $img: The image to print.
int $size: Output size modifier for the image. Size modifiers are:.
IMGDEFAULT (leave image at original size). IMGDOUBLEWIDTH. IMGDOUBLEHEIGHT A minimal example. Graphics( $img); See the folder for detailed examples.
The function takes the same parameters, and can be used if your printer doesn't support the newer graphics commands. As an additional fallback, the bitImageColumnFormat function is also provided.
Initialize Initialize printer. This resets formatting back to the defaults.
Pdf417Code($content, $width, $heightMultiplier, $dataColumnCount, $ec, $options) Print a two-dimensional data code using the PDF417 standard. Parameters:. string $content: Text or numbers to store in the code. number $width: Width of a module (pixel) in the printed code.
Default is 3 dots. number $heightMultiplier: Multiplier for height of a module.
Default is 3 times the width. number $dataColumnCount: Number of data columns to use. 0 (default) is to auto-calculate. Smaller numbers will result in a narrower code, making larger pixel sizes possible. Larger numbers require smaller pixel sizes. real $ec: Error correction ratio, from 0.01 to 4.00.
Default is 0.10 (10%). number $options: Standard code Printer::PDF417STANDARD with start/end bars, or truncated code Printer::PDF417TRUNCATED with start bars only. Pulse($pin, $onms, $offms) Generate a pulse, for opening a cash drawer if one is connected. The default settings (0, 120, 240) should open an Epson drawer. Parameters:. int $pin: 0 or 1, for pin 2 or pin 5 kick-out connector respectively.
int $onms: pulse ON time, in milliseconds. int $offms: pulse OFF time, in milliseconds. QrCode($content, $ec, $size, $model) Print the given data as a QR code on the printer.
string $content: The content of the code. Numeric data will be more efficiently compacted. int $ec Error-correction level to use. One of Printer::QRECLEVELL (default), Printer::QRECLEVELM, Printer::QRECLEVELQ or Printer::QRECLEVELH. Higher error correction results in a less compact code.

int $size: Pixel size to use. Must be 1-16 (default 3). int $model: QR code model to use.
Must be one of Printer::QRMODEL1, Printer::QRMODEL2 (default) or Printer::QRMICRO (not supported by all printers). SelectPrintMode($mode) Select print mode(s). Parameters:. int $mode: The mode to use. Default is Printer::MODEFONTA, with no special formatting. This has a similar effect to running initialize. Several MODE.
constants can be OR'd together passed to this function's $mode argument. The valid modes are:.
MODEFONTA. MODEFONTB. MODEEMPHASIZED. MODEDOUBLEHEIGHT. MODEDOUBLEWIDTH.
MODEUNDERLINE setBarcodeHeight($height) Set barcode height. Parameters:. int $height: Height in dots.
If not specified, 8 will be used. SetBarcodeWidth($width) Set barcode bar width. Parameters:.
int $width: Bar width in dots. If not specified, 3 will be used.
Values above 6 appear to have no effect. SetColor($color) Select print color - on printers that support multiple colors. Parameters:. int $color: Color to use.
Must be either Printer::COLOR1 (default), or Printer::COLOR2 setDoubleStrike($on) Turn double-strike mode on/off. Parameters:. boolean $on: true for double strike, false for no double strike. SetEmphasis($on) Turn emphasized mode on/off. Parameters:. boolean $on: true for emphasis, false for no emphasis.
SetFont($font) Select font. Most printers have two fonts (Fonts A and B), and some have a third (Font C).
Parameters:. int $font: The font to use. Must be either Printer::FONTA, Printer::FONTB, or Printer::FONTC.
SetJustification($justification) Select justification. Parameters:. int $justification: One of Printer::JUSTIFYLEFT, Printer::JUSTIFYCENTER, or Printer::JUSTIFYRIGHT.
SetLineSpacing($height) Set the height of the line. Some printers will allow you to overlap lines with a smaller line feed. Parameters:. int $height: The height of each line, in dots. If not set, the printer will reset to its default line spacing. SetPrintLeftMargin($margin) Set print area left margin. Reset to default with Printer::initialize.
Parameters:. int $margin: The left margin to set on to the print area, in dots. SetPrintWidth($width) Set print area width.
This can be used to add a right margin to the print area. Reset to default with Printer::initialize. Parameters:. int $width: The width of the page print area, in dots. SetReverseColors($on) Set black/white reverse mode on or off.
In this mode, text is printed white on a black background. Parameters:. boolean $on: True to enable, false to disable. SetTextSize($widthMultiplier, $heightMultiplier) Set the size of text, as a multiple of the normal size.
Mini Thermal Printer Imp001b Driver
Parameters:. int $widthMultiplier: Multiple of the regular height to use (range 1 - 8). int $heightMultiplier: Multiple of the regular height to use (range 1 - 8). SetUnderline($underline) Set underline for printed text. Parameters:.
int $underline: Either true/ false, or one of Printer::UNDERLINENONE, Printer::UNDERLINESINGLE or Printer::UNDERLINEDOUBLE. Defaults to Printer::UNDERLINESINGLE. Text($str) Add text to the buffer. Text should either be followed by a line-break, or feed should be called after this. Parameters:. string $str: The string to print. Further notes Posts I've written up for people who are learning how to use receipt printers:., which documents the output of example/demo.php.
Development This code is MIT licensed, and you are encouraged to contribute any modifications back to the project. For development, it's suggested that you load imagick, gd and Xdebug PHP exensions, and install composer. The tests are executed on over PHP 5.4, 5.5, 5.6, 7.0, 7.1 and 7.2, plus the latest LTS version of HHVM, 3.21.

Older versions of PHP are not supported in current releases. Fetch a copy of this code and load dependencies with composer: git clone cd escpos-php/ composer install Execute unit tests via phpunit: php vendor/bin/phpunit -coverage-text This project uses the PSR-2 standard, which can be checked via: php vendor/bin/phpcs -standard=psr2 src/ -n The developer docs are build with. Re-build them to check for documentation warnings: make -C doc clean && make -C doc Pull requests and bug reports welcome.
This video shows how easy it is to install a Thermal Printer on Mac OS X using Peninsula's Thermal Printer Driver. The driver is available from: In this video we go through the stages of installing a Zebra LP2844 using the Thermal Utility that comes with the driver and then printing a label from Pages. Here's some reasons to try us out. Use reliable, professional printer software 2. Try out the software before you buy 3. Make sure the software makes barcodes accurately 4.
Ecp-500 Thermal Printer Drivers For Mac Free
Create multiple 'virtual' printers to support other shipping services 5. Print directly from the courier's website, straight to your thermal printer.
Print from any application. Get full technical support, even setup help. Supports Zebra, TSC, TEC, SATO, Honeywell, Citizen and many other popular thermal label printers.Click Below for more information or to download demo software Print Thermal Shipping Labels on Apple Mac OSX - With the Peninsula Thermal Driver: Peninsula Group - Software that works.