返回
顶部

修改密码

首页 > 开发语言 > java > 正文
java之打印机服务通俗做法

+1

-1

收藏

+1

-1

点赞0

评论0

javax.print包是API的主包,其中包含的类和接口能够让你:1)发现打印服务(Print Services)2)指定打印数据的格式 3)从一个打印服务创建打印工作(print jobs) 4)向一个打印设备或者数据流发送打印数据 通俗点就是:1)列出打印机列表 2)整合要打印的页面 3)获取打…

javax.print包是API的主包,其中包含的类和接口能够让你:1)发现打印服务(Print Services)2)指定打印数据的格式 3)从一个打印服务创建打印工作(print jobs) 4)向一个打印设备或者数据流发送打印数据

通俗点就是:1)列出打印机列表  2)整合要打印的页面  3)获取打印服务对象并设置要干什么  4)打印对象要干什么通过打印机去干

//打印机列表
PrintService[] printService = PrintServiceLookup.lookupPrintServices(null, null);
PrintService ps = null;
for (int i = 0; i < printService.length; i++) {
    String pn = printService[i].getName();
    System.out.println(pn);
}
float dpm = 72 / 25.4f;
//理解成书
Book book = new Book();
//设置成竖打
PageFormat pf = new PageFormat();
pf.setOrientation(PageFormat.PORTRAIT);
//理解成纸,大小严格按实际
Paper pp = new Paper();
pp.setSize(dpm * 40, dpm * 30);// 纸张大小
pp.setImageableArea(0, 0, dpm * 40, dpm * 30);// 打印区域
pf.setPaper(pp);
// 把 PageFormat 和 Printable 添加到书中,组成一个页面
TickPage page = new TickPage();//TickPage是重写Printable的类,其实现打印内容的详细
book.append(page, pf);
// 获取打印服务对象
PrinterJob job = PrinterJob.getPrinterJob();
// 设置打印类
job.setPageable(book);
//告诉打印机
job.setPrintService(ps);
//打印
job.print();
public class TickPage implements Printable {
    public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
        //NO_SUCH_PAGE告诉打印机没东西打
        if(pageIndex!=0)return NO_SUCH_PAGE;
        //要怎么打印东西都在这里
        g.setFont(new Font("",0,7));
        g.drawString("hello zhylioooo!",10,20);
        return PAGE_EXISTS;
    }
}

扫一扫在手机打开

评论
已有0条评论
0/150
提交
热门评论
相关推荐