90 lines
2.7 KiB
PHP
90 lines
2.7 KiB
PHP
|
<?php
|
|||
|
namespace app\common\service\xpyun;
|
|||
|
|
|||
|
use Xpyun\model\PrintRequest;
|
|||
|
use Xpyun\service\PrintService;
|
|||
|
|
|||
|
/**
|
|||
|
* Class XpsdkPrintApi
|
|||
|
* 打印示例
|
|||
|
*/
|
|||
|
class XpsdkPrintApi
|
|||
|
{
|
|||
|
/**
|
|||
|
* 打印服务对象实例化
|
|||
|
*/
|
|||
|
private $service;
|
|||
|
|
|||
|
public function __construct()
|
|||
|
{
|
|||
|
$this->service = new PrintService();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 小票打印字体对齐样例,不支持金额播报
|
|||
|
* 注意:对齐标签L C R CB 请勿嵌套使用,嵌套使用内层标签有效,外层失效;
|
|||
|
* 同一行请勿使用多个对齐标签,否则只有最后一个对齐标签有效
|
|||
|
*/
|
|||
|
public function printFontAlign($sn)
|
|||
|
{
|
|||
|
$printContent = <<<EOF
|
|||
|
不加标签:默认字体大小<BR>
|
|||
|
<BR>
|
|||
|
L标签:<L>左对齐<BR></L>
|
|||
|
<BR>
|
|||
|
R标签:<R>右对齐<BR></R>
|
|||
|
<BR>
|
|||
|
C标签:<C>居中对齐<BR></C>
|
|||
|
<BR>
|
|||
|
N标签:<N>字体正常大小<BR></N>
|
|||
|
<BR>
|
|||
|
HB标签:<HB>字体变高一倍<BR></HB>
|
|||
|
<BR>
|
|||
|
WB标签:<WB>字体变宽一倍<BR></WB>
|
|||
|
<BR>
|
|||
|
B标签:<B>字体放大一倍<BR></B>
|
|||
|
<BR>
|
|||
|
HB2标签:<HB2>字体变高二倍<BR></HB2>
|
|||
|
<BR>
|
|||
|
WB2标签:<WB2>字体变宽二倍<BR></WB2>
|
|||
|
<BR>
|
|||
|
B2标签:<B2>字体放大二倍<BR></B2>
|
|||
|
<BR>
|
|||
|
BOLD标签:<BOLD>字体加粗<BR></BOLD>
|
|||
|
EOF;
|
|||
|
|
|||
|
$printContent = $printContent . '<BR>';
|
|||
|
// 嵌套使用对齐和字体
|
|||
|
$printContent = $printContent . '<C>嵌套使用:<BOLD>居中加粗</BOLD><BR></C>';
|
|||
|
|
|||
|
// 打印条形码和二维码
|
|||
|
$printContent = $printContent . '<BR>';
|
|||
|
$printContent = $printContent . '<C><BARCODE>9884822189</BARCODE></C>';
|
|||
|
$printContent = $printContent . '<C><QR>https://www.xpyun.net</QR></C>';
|
|||
|
|
|||
|
|
|||
|
$request = new PrintRequest();
|
|||
|
$request->generateSign();
|
|||
|
|
|||
|
//*必填*:打印机编号
|
|||
|
$request->sn = $sn;
|
|||
|
|
|||
|
//*必填*:打印内容,不能超过12K
|
|||
|
$request->content = $printContent;
|
|||
|
|
|||
|
//打印份数,默认为1
|
|||
|
$request->copies = 1;
|
|||
|
|
|||
|
//声音播放模式,0 为取消订单模式,1 为静音模式,2 为来单播放模式,3为有用户申请退单了。默认为 2 来单播放模式
|
|||
|
$request->voice = 2;
|
|||
|
|
|||
|
//打印模式:
|
|||
|
//值为 0 或不指定则会检查打印机是否在线,如果不在线 则不生成打印订单,直接返回设备不在线状态码;如果在线则生成打印订单,并返回打印订单号。
|
|||
|
//值为 1不检查打印机是否在线,直接生成打印订单,并返回打印订单号。如果打印机不在线,订单将缓存在打印队列中,打印机正常在线时会自动打印。
|
|||
|
$request->mode = 1;
|
|||
|
|
|||
|
$result = $this->service->xpYunPrint($request);
|
|||
|
return $result->content;
|
|||
|
}
|
|||
|
}
|