当我想通过Mik42 / ESCPOS打印4个PNG文件(100x100)时。它在每一行上打印了每个PNG文件。有没有一种方法可以在一行中打印所有四个PNG文件?
$printer -> setJustification(Printer::JUSTIFY_LEFT);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);
$printer -> graphics($HC1,false);
答案 0 :(得分:0)
可以考虑以下之一。
相关的ESC / POS命令:
ESC L选择页面模式
ESC W在页面模式下设置打印区域
ESC T在页面模式下选择打印方向
GS $在页面模式下设置绝对垂直打印位置
ESC $设置绝对打印位置
GS \在“页面”模式下设置相对垂直打印位置
ESC \设置相对打印位置
FF (in Page mode)打印并返回到标准模式(在页面模式下)
答案 1 :(得分:0)
使用imgagick将其保存到Web目录中的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'); }