Mike42 ESCPOS - Печать 4 png файлов в одну строку

Когда я хочу распечатать 4 файла PNG (100x100) через Mik42/ESCPOS. Он печатал каждый файл PNG в каждой строке. Есть ли способ распечатать все четыре файла PNG в одну строку?

$printer -> setJustification(Printer::JUSTIFY_LEFT);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);

person Ken    schedule 20.05.2020    source источник


Ответы (2)


Можно рассмотреть одно из следующих.

  1. Создайте данные одного изображения, расположив данные четырех изображений в одну горизонтальную линию, и распечатайте их.
  2. Установите режим страницы, объединив необработанные данные команды ESC/POS, повторите позицию начала печати с необработанными данными команды ESC/POS после функции графической печати escpos-php, и, наконец, необработанная команда ESC/POS выполняет фактическую печать и конец режима страницы.

Связанные команды ESC/POS:

ESC L Выберите режим страницы
ESC W Установить область печати в режиме страницы
ESC T Выберите направление печати в режиме страницы

GS $ Установка абсолютной вертикальной позиции печати в режиме страницы
ESC $ Установить абсолютную позицию печати< br> GS \ Установить относительное вертикальное положение печати в Режим страницы
ESC \ Установить относительную печать позиция

FF (в режиме страницы) Распечатать и вернуться к Стандартный режим (в режиме страницы)

person kunif    schedule 20.05.2020
comment
Я никогда не использовал PHP. Поэтому я не могу показать вам кодировку. Будут ли эти статьи полезны? Печать на POS-принтер из PHP, Как печатать необработанные команды ESC/POS из PHP напрямую на клиентский принтер< /а> - person kunif; 21.05.2020

С помощью imgagick сохраните его в файл PNG в веб-каталоге, а затем закодируйте его в PHP.

function appendImages($img1,$img2,$img3,$img4,$format) {

$im = new Imagick();

$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img1.'.jpg'));
$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img2.'.jpg'));
$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img3.'.jpg'));
$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img4.'.jpg'));

$im->resetIterator();
$combined = $im->appendImages(false);
$combined->setImageFormat($format);
$combined->writeImage($_SERVER['DOCUMENT_ROOT'].'/images/combined.png'); }
person Ken    schedule 26.05.2020