All Projects → RamyTalal → Label-Printer

RamyTalal / Label-Printer

Licence: MIT license
Easily print labels with a Brother label printer.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Label-Printer

pt1230
Brother P-Touch 1230PC Linux interface
Stars: ✭ 25 (-35.9%)
Mutual labels:  brother-label-printer, label-printer
Brother
🖨️ 🏷️ App development for Brother printer using Flutter 🏷️ 🖨️
Stars: ✭ 18 (-53.85%)
Mutual labels:  brother-label-printer

Label Printer

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

This library is a WIP.

Easily print labels with a Brother label printer.

This library is tested with the following Brother printers,

so it may not work with other printers.

Install

Composer

$ composer require RamyTalal/Label-Printer

Usage

ESC/P

use Talal\LabelPrinter\Printer;
use Talal\LabelPrinter\Mode\Escp;
use Talal\LabelPrinter\Command;

$stream = stream_socket_client('tcp://192.168.1.8:9100', $errorNumber, $errorString);

$printer = new Printer(new Escp($stream));
$font = new Command\Font('brussels', Command\Font::TYPE_OUTLINE);

$printer->addCommand(new Command\CharStyle(Command\CharStyle::NORMAL));
$printer->addCommand($font);
$printer->addCommand(new Command\CharSize(46, $font));
$printer->addCommand(new Command\Align(Command\Align::CENTER));
$printer->addCommand(new Command\Text('Hallo'));
$printer->addCommand(new Command\Cut(Command\Cut::FULL));
$printer->printLabel();

fclose($stream);

AutoCut Feature

// Disable the AutoCut on the printer
$printer->addCommand(new Command\AutoCut(Command\AutoCut::DISABLED));

// Enable the AutoCut on the printer
$printer->addCommand(new Command\AutoCut(Command\AutoCut::ENABLED));

Template

use Talal\LabelPrinter\Printer;
use Talal\LabelPrinter\Mode\Template;
use Talal\LabelPrinter\Command;

$stream = stream_socket_client('tcp://192.168.1.8:9100', $errorNumber, $errorString);

$printer = new Printer(new Template(2, $stream));
$printer->addCommand(new Command\ObjectCommand('title', 'R. Talal'));
$printer->addCommand(new Command\ObjectCommand('address', 'H.H. Schefferlaan 9'));
$printer->addCommand(new Command\ObjectCommand('postalcode', '7771 CW'));
$printer->addCommand(new Command\ObjectCommand('city', 'Hardenberg'));

$printer->printLabel();

fclose($stream);

Barcode generation

use Talal\LabelPrinter\Printer;
use Talal\LabelPrinter\Mode\Template;
use Talal\LabelPrinter\Command;

$stream = stream_socket_client('tcp://192.168.1.8:9100', $errorNumber, $errorString);

$printer = new Printer(new Template(2, $stream));
$printer->addCommand(new Command\Barcode('1234', 80, Command\Barcode::WIDTH_SMALL, 'code39', false, 2.5));

// or QR code
// $printer->addCommand(new Command\QrCode('https://example.com'));

$printer->printLabel();
fclose($stream);

Testing

$ composer test

TODO

  • Documentation

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].