печать — распечатать счет с использованием PHP escpos в linux

Я реализую функциональность для печати счета-фактуры, для этого я использую модуль Escpos, но когда я запускаю это, нет ответа.

если я печатаю php_sapi_name, я получаю «apache2handler» вместо «cli», у меня есть система linux. я не знаю, как получить «Cli» в моем веб-сервере.

Можете ли вы поделиться своей идеей, чтобы решить эту проблему

if(php_sapi_name() == 'cli') {// i got apache2handler
$connector = new FilePrintConnector("php://stdout");
} else {
throw new InvalidArgumentException("Argument passed to Escpos::__construct() must implement interface PrintConnector, null given.");
}

-1

Решение

Поскольку вопрос цитирует фрагмент очень знакомого кода, я предполагаю, что вы имеете в виду mike42 / escpos-PHP.

Если это так, вам нужно будет выбрать PrintConnector которая работает для вашей платформы (Windows, Mac, Linux) и интерфейса (USB, Serial, Samba share, CUPS). Правильный способ инициализации драйвера зависит от конкретной системы.

Таблица поддерживаемых комбинаций со ссылками на примеры фрагментов отображается в ПРОЧТИ МЕНЯ файл.

Например, если у вас есть USB-принтер в Linux, он может выглядеть как /dev/usb/lp0, Предполагая, что ваши разрешения настроены так, чтобы пользователь веб-сервера имел доступ к этому файлу, отправка базовой квитанции связана с README в Linux / USB:

<?php
require __DIR__ . '/vendor/autoload.php';
use Mike42\Escpos\PrintConnectors\FilePrintConnector;
use Mike42\Escpos\Printer;
$connector = new FilePrintConnector("/dev/usb/lp0");
$printer = new Printer($connector);
$printer -> text("Hello World!\n");
$printer -> cut();
$printer -> close();

В стороне: приведенный вами фрагмент больше не содержится в коде, но был старой функцией, к которой можно прибегнуть php:///stdout если вы находитесь в командной строке и не указали разъем для печати.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector