极速赛车APP下载

百富POS机A920安卓系统打印功能的推动

电脑杂谈  发布时间:2019-08-30 13:03:05  来源:网络整理

百富a920使用说明_yzy400 全液压静力压桩机的使用维护说明_胜家968使用视频说明

由于打印demo中只有一些参数设定和基础打印,也能够推动排版功能,后引入com.pax.gl.imgprocessing中的接口

\

yzy400 全液压静力压桩机的使用维护说明_胜家968使用视频说明_百富a920使用说明

生成bitmap实现打印,可支持打印排版,打印照片等。

1、重要的引入jar包,一开始只引入了第一个,然后是痛苦的bug排查。。。

胜家968使用视频说明_百富a920使用说明_yzy400 全液压静力压桩机的使用维护说明

\

2、根据API,添加打印功能百富a920使用说明,自己封装了一个打印工具类

百富a920使用说明_yzy400 全液压静力压桩机的使用维护说明_胜家968使用视频说明

package com.hisun.pos.utils.printer;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import com.hisun.pos.MyApplication;
import com.hisun.pos.R;
import com.hisun.pos.utils.LogUtil;
import com.pax.gl.imgprocessing.IImgProcessing;
import com.pax.ipp.service.aidl.dal.printer.EFontTypeAscii;
import com.pax.ipp.service.aidl.dal.printer.EFontTypeExtCode;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * Created by ylh on 2018/1/18 0018.
 */
public class PrinterUtil {
    private static final int FONT_BIG = 24;
    private static final int FONT_NORMAL = 20;
    private static Context mContext;
    public PrinterUtil(Context context) {
        mContext = context;
    }
    public void print(String str, Boolean containBitmap) {
        //初始化
        PrinterTester.getInstance().init();
        //字体设置(ASCII,拓展码)
        PrinterTester.getInstance().fontSet(EFontTypeAscii.FONT_8_16, EFontTypeExtCode.FONT_16_16);
        //间距设置(字间距,行间距)
        PrinterTester.getInstance().spaceSet(Byte.parseByte("0"),
                Byte.parseByte("0"));
        //字符打印左边界
        PrinterTester.getInstance().leftIndents(Short.parseShort("0"));
        //打印黑度
        PrinterTester.getInstance().setGray(1);
        //双倍宽度<->正常宽度
        if (true) {
            PrinterTester.getInstance().setDoubleWidth(true, true);
        }
        //双倍高度<->正常高度
        if (true) {
            PrinterTester.getInstance().setDoubleHeight(true, true);
        }
        //正常打印<->反显打印
        PrinterTester.getInstance().setInvert(false);
        //打印图片
        if (containBitmap) {
            PrinterTester.getInstance().printBitmap(
                    BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_qrcode));
        }
        //打印状态
        String status = PrinterTester.getInstance().getStatus();
        //打印文本
        PrinterTester.getInstance().printStr(str, null);
        //走纸
        PrinterTester.getInstance().step(150);
        //开始打印
        PrinterTester.getInstance().start();
    }
    public void print(String orderNo, String orderTime, String orderAmt) {
        Bitmap bitmap = generate(orderNo, orderTime, orderAmt);
        //初始化
        PrinterTester.getInstance().init();
        String statues = PrinterTester.getInstance().getStatus();
        LogUtil.debug(statues);
        if (statues.contains("Success")){
            PrinterTester.getInstance().printBitmap(bitmap);
            PrinterTester.getInstance().start();
        }
    }
    public Bitmap generate(String orderNo, String orderTime, String orderAmt) {
        IImgProcessing.IPage page = GetObj.getGL().getImgProcessing().createPage();
        //设置字体
//        page.setTypeFace(TYPE_FACE);
        //往页面里添加新的一行
//        page.addLine();
        //创建一个元素,可用IImgProcessing.IPage.ILine.addUnit(IUnit)来生成行
        page.adjustLineSpace(10);
        //logo
        page.addLine().addUnit(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_mpay));
        // 凭单抬头
        page.addLine().addUnit("Payment Voucher", FONT_BIG, IImgProcessing.IPage.EAlign.CENTER, IImgProcessing.IPage.ILine.IUnit.TEXT_STYLE_BOLD);
        page.addLine().adjustTopSpace(20);
        // 门店名称
        page.addLine().addUnit("Store:" + MyApplication.getLoginResp().getUserBasicInfo().getMercName(),
                FONT_NORMAL);
        // 商户id
        page.addLine().addUnit("Merchant ID:" + MyApplication.getLoginResp().getUserBasicInfo().getUserId(), FONT_NORMAL);
        // 操作人员
        page.addLine().addUnit("Operator:" + MyApplication.getLoginResp().getUserBasicInfo().getDisplayNm(), FONT_NORMAL);
        // Order:
        page.addLine().addUnit("Order:" + orderNo, FONT_NORMAL);
        // Payment_time:
        page.addLine().addUnit("Payment_time:" + orderTime, FONT_NORMAL);
        // Amount:
        page.addLine().addUnit("Amount:$" + orderAmt, FONT_NORMAL);
        // ===:
        page.addLine().addUnit("==================================", FONT_NORMAL, IImgProcessing.IPage.EAlign.CENTER);
        // Payment Successful:
        page.addLine().addUnit("Payment Successful", FONT_BIG, IImgProcessing.IPage.EAlign.CENTER, IImgProcessing.IPage.ILine.IUnit.TEXT_STYLE_BOLD);
        page.addLine().adjustTopSpace(20);
        // Print Time:
        page.addLine().addUnit("Print Time:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()), FONT_NORMAL);
        // Terminal:
        page.addLine().addUnit("Terminal:" + SysTester.getInstance().getTerminfoModel() + " " + SysTester.getInstance().getDevInterfaceVer(), FONT_NORMAL);
        page.addLine().adjustTopSpace(20);
        //二维码
        page.addLine().addUnit(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_qrcode), IImgProcessing.IPage.EAlign.CENTER);
        page.addLine().adjustTopSpace(2);
        page.addLine().addUnit("Scan to download Mpay", FONT_NORMAL, IImgProcessing.IPage.EAlign.CENTER);
        page.addLine().addUnit("\n\n\n\n\n\n", FONT_NORMAL);
        IImgProcessing imgProcessing = GetObj.getGL().getImgProcessing();
        return imgProcessing.pageToBitmap(page, 384);
    }
}
调用打印方式


本文来自电脑杂谈,转载请注明本文网址:
http://www.0531mai.com/a/shouji/article-121093-1.html

相关阅读
发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

极速赛车手机官网 极速赛车APP 极速赛车APP 极速赛车手机版下载 极速赛车APP下载 极速赛车APP下载 极速赛车APP 极速赛车APP下载 极速赛车双面盘 极速赛车双面盘