java指定打印机名称进行打印

 

 

import java.awt.print.PrinterJob;

import java.awt.print.Book;

import java.awt.print.Printable;

import java.awt.Graphics;

import java.awt.print.PageFormat;

import java.awt.print.PrinterException;

import javax.print.PrintService;

import javax.print.PrintServiceLookup;

import java.awt.Graphics2D;

import java.awt.Color;

import java.awt.Font;

import javax.print.attribute.HashAttributeSet;

import javax.print.attribute.standard.PrinterName;



public class MyPrintTest

    implements Printable

{

  public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)

      throws PrinterException

  {

    Graphics2D g2 = (Graphics2D) graphics;

    g2.setPaint(Color.black);

    g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());

    Font font = new Font("宋体", Font.BOLD, 10);

    g2.setFont(font);

    g2.drawString("afasdfad", 10, 10);

    font = new Font("黑体", Font.ITALIC, 18);

    g2.setFont(font);

    g2.drawString("第二行:", 10, 40);

    return Printable.PAGE_EXISTS;

  }



  public static void main(String[] args)

  {

    MyPrintTest myprinttest = new MyPrintTest();

    myprinttest.print();

  }



  public void print()

  {

    PrinterJob printerJob = PrinterJob.getPrinterJob();

    Book book = new Book();

    book.append(new MyPrintTest(), printerJob.defaultPage());

    printerJob.setPageable(book);

    HashAttributeSet hs = new HashAttributeSet();

    String printerName="EPSON TM-U220 Receipt";

    hs.add(new PrinterName(printerName,null));

    PrintService[] pss = PrintServiceLookup.lookupPrintServices(null, hs);

    if(pss.length==0)

    {

      System.out.println("无法找到打印机:"+printerName);

      return ;

    }

    try

    {

      printerJob.setPrintService(pss[0]);

      printerJob.print();

    }

    catch (PrinterException ex)

    {

      System.out.println(ex.getMessage());

    }

  }

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值