打印机¶
接入方式¶
List<Line> lineList = new ArrayList<>();
PnrService.getInstance(mContext).doPrint(lineList, new PnrTransListener() {
@Override
public void onResult(String response) {
Timber.e(response);
Map resultMap = new Gson().fromJson(response, Map.class);
String responseCode = resultMap.get(PnrResponseKey.KEY_RESPONSECODE).toString();
if ("00".equals(responseCode)){
Timber.e("打印成功");
}else {
Timber.e("打印失败");
}
}
});
请求参数¶
listener
为结果监听,不能为空;onResult(String response)
为结果回调,response
为json串,值参见 返回结果
lineList
为Line对象组成的列表,Line为抽象类。- 具体实现如下:
List<Line> lineList = new ArrayList<>();
lineList.add(new ImgLine(openAsset("logo.bmp")));//打印一张图片
lineList.add(new TextLine("标准文本"));
lineList.add(new TextLine("居右加粗大字体文本", new VectorFormat().setAlignment(Layout.Alignment.ALIGN_OPPOSITE).setSize(30).setBold(true)));
lineList.add(new TextDivisionLine("标准带横线文本"));
lineList.add(new TextDivisionLine("小字体带横线文本", new VectorFormat().setSize(16)));
lineList.add(new TwoColumnLine("姓名:", "张三"));
lineList.add(new ThreeColumnLine("名称", "数量", "单价"));
lineList.add(new DivisionLine());//虚线
lineList.add(new DivisionLine(true));//实线
lineList.add(new QRLine("这是一个测试二维码"));
lineList.add(new BarCodeLine("20210313165232564855"));//条码
lineList.add(new TextLine(" "));//空行
请根据需求自行组装需要打印的内容,如有需要可自定义Line的子类以完成打印