/**
* 毫米换算为像素
*
* @param data 毫米数
* @return 像素
*/
public static int doGetPix(float data) {
return (int)(data / 25.4 * 72);
}
换列、换行
int temX = this.doGetXPix(88) + ((i % 2) * (PUtil.doGetPix(54) + 8));
int temY = this.doGetYPix(76) + ((i / 2) * (PUtil.doGetPix(7) + 8));
String s = this.sPass.getDownImgs()[i];
g2.drawString("★"+s, temX, temY);
public class SPPrint extends Thread implements Printable { //实现打印的接口
... ...
<p> /**
* 打印功能
*/
public void doPrint() throws PrinterException{</p><p> // 通俗理解就是书、文档
Book book = new Book();</p><p> // 设置成竖打
PageFormat pf = new PageFormat();</p><p> // 横打
pf.setOrientation(PageFormat.LANDSCAPE);</p><p> // 通过Paper设置页面的空白边距和可打印区域。
// 必须与实际打印纸张大小相符。
Paper p = new Paper();</p><p> // 纸张大小
p.setSize(590, 840);</p><p> // A4(595 X 842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72
//p.setImageableArea(10, 10, 590, 840);
p.setImageableArea(2, 2, 590, 840);
pf.setPaper(p);</p><p> // 把 PageFormat 和 Printable 添加到书中,组成一个页面
book.append(this, pf);</p><p> // 获取打印服务对象
PrinterJob job = PrinterJob.getPrinterJob();</p><p> // 设置打印类
job.setPageable(book);</p><p> job.print();
}</p><p> </p><p> /**
* 打印功能
*
* @param Graphic 指明打印的图形环境
* @param PageFormat 指明打印页格式
* @param pageIndex 指明页号
**/
@Override
public int print(Graphics gra, PageFormat pf, int pageIndex){
try {
// 转换成Graphics2D
Graphics2D g2 = (Graphics2D) gra;</p><p> // 设置打印颜色为黑色
g2.setColor(Color.red);</p><p> switch (pageIndex) {
case 0:
// this.doTest(g2);
this.doPrintImg(g2);
this.doPrintWord(g2);
return PAGE_EXISTS;
default:
return NO_SUCH_PAGE;
}
} catch (Exception e) {
e.printStackTrace();
}
return NO_SUCH_PAGE;
}</p><p> </p>
uuid
public static String getUUID() {
String uuid = UUID.randomUUID().toString();
return uuid.replaceAll("-", "");
}