package com.cn.gao;
import java.awt.Graphics;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.awt.*;
public class PrintTest implements Printable{
public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException {
System.out.println("pageIndex="+pageIndex);
Component c = null;
String str = "中华民族是勤劳、勇敢和富有智慧的伟大民族。";
Graphics2D g2 = (Graphics2D) gra;
g2.setColor(Color.black);
double x = pf.getImageableX();
double y = pf.getImageableY();
switch(pageIndex){
case 0:
Font font = new Font("新宋体", Font.PLAIN, 9);
g2.setFont(font);
float[] dash1 = {2.0f};
g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f));
float heigth = font.getSize2D();
System.out.println("x="+x);
Image src = Toolkit.getDefaultToolkit().getImage("F:\\workspace\\QQ.png");
g2.drawImage(src,(int)x,(int)y,c);
int img_Height=src.getHeight(c);
int img_width=src.getWidth(c);
g2.drawString(str, (float)x, (float)y+1*heigth+img_Height);
g2.drawLine((int)x,(int)(y+1*heigth+img_Height+10),(int)x+200,(int)(y+1*heigth+img_Height+10));
g2.drawImage(src,(int)x,(int)(y+1*heigth+img_Height+11),c);
return PAGE_EXISTS;
default:
return NO_SUCH_PAGE;
}
}
public static void main(String[] args) {
Book book = new Book();
PageFormat pf = new PageFormat();
pf.setOrientation(PageFormat.PORTRAIT);
Paper p = new Paper();
p.setSize(590,840);
p.setImageableArea(10,10, 590,840);
pf.setPaper(p);
book.append(new PrintTest(), pf);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPageable(book);
try {
boolean a=job.printDialog();
if(a)
{
job.print();
}else{
job.cancel();
}
} catch (PrinterException e) {
e.printStackTrace();
}
}
}