虫虫技术在线--技术决定出路

当前位置: 首页 > 编程 > Java >

用Java代码生成打印收据(2)

时间:2010-07-19 13:08来源:虫虫技术在线收集整理 作者:虫虫编辑 点击:
//graphics2D.setStroke(new BasicStroke(0.5f)); graphics2D.setStroke(basicStroke);//设置线宽 float height = font.getSize2D();//字体高度 System.out.println(字体高度是+height); //绘制收据标

  //graphics2D.setStroke(new BasicStroke(0.5f));

  graphics2D.setStroke(basicStroke);//设置线宽

  float height = font.getSize2D();//字体高度

  System.out.println("字体高度是"+height);

  //绘制收据标题

  graphics2D.drawString(receiptTitle, 120, (float) y + 1 * height);

  //绘制收据编号

  String receiptNo = String.valueOf(RECEIPT_NO);

  graphics2D.drawString("No.:"+GlobalMethod.get0String(receiptNo,7), (float)x*21, (float) y + 1 * height);

  //绘制打印时间

  SimpleDateFormat myDateFormat = new SimpleDateFormat("yyyy年MM月dd日");

  graphics2D.drawString(myDateFormat.format(printDate), (float)x*21, (float) y + 2 * height);

  //绘制收据标题下面的第一条横线

  graphics2D.drawLine(

  115,

  (int) (y + 1 * height+5),

  160,

  (int) (y + 1 * height+5)

  );

  //绘制收据标题下面的第二条横线

  graphics2D.drawLine(

  115,

  (int) (y + 1 * height+7),

  160,

  (int) (y + 1 * height+7)

  );

  //正文1——今收到

  graphics2D.drawString(content1,(float) x*2, (float) y + 4 * height);

  //收费项目名称

  graphics2D.drawString(this.roomID+feeItem,(float) x*5, (float) y + 4 * height);

  //绘制正文1下划线

  graphics2D.drawLine(

  (int)x*5,

  (int) (y + 4 * height+4),

  (int)x+260,

  (int) (y + 4 * height+4)

  );

  //人民币(大写)

  graphics2D.drawString(content2+Money.NumToRMBStr(rentTotal),(float) x*2, (float) y + 6 * height);

  //绘制人民币(大写)下划线

  graphics2D.drawLine(

  (int)x*12,

  (int) (y + 6 * height+4),

  (int)x+200,

  (int) (y + 6 * height+4)

  );

  //(小写)

  graphics2D.drawString("(小写)"+rentTotal+"元",(float) x*20, (float) y + 6 * height);

  //绘制(小写)下划线

  graphics2D.drawLine(

  (int)x*23,

  (int) (y + 6 * height+4),

  (int)x+260,

  (int) (y + 6 * height+4)

  );

  //附注

  graphics2D.drawString("附注:"+this.remark,(float) x*2, (float) y + 8 * height);

  //绘制附注下划线

  graphics2D.drawLine(

  (int)x*4+4,

  (int) (y + 8 * height+4),

  (int)x+260,

  (int) (y + 8 * height+4)

  );

  // 签字(收款人)

  graphics2D.drawString("签字(收款人)",(float) x*17+3, (float) y + 11 * height);

  //签字(收款人)下划线

  graphics2D.drawLine(

  (int)x*23,

  (int) (y + 11 * height+2),

  (int)x+260,

  (int) (y + 11* height+2)

  );

  return PAGE_EXISTS;

  default:

  RECEIPT_NO=RECEIPT_NO-1;

  return NO_SUCH_PAGE;

  }

  }

  //方法调用

  public  void printReceipt(PrintTest printTest){

  //通俗理解就是书、文档

  Book book = new Book();

  //设置成竖打

  PageFormat pf = new PageFormat();

  pf.setOrientation(PageFormat.PORTRAIT);

  //通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。

  Paper p = new Paper();

  p.setSize(280, 120);//纸张大小

  p.setImageableArea(10, 10, 280, 120);//A4(595 X 842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72

  pf.setPaper(p);

  //把 PageFormat 和 Printable 添加到书中,组成一个页面

  book.append(printTest, pf);

  //获取打印服务对象

  PrinterJob job = PrinterJob.getPrinterJob();

  //设置打印类

  job.setPageable(book);

  try

  {

  //可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印

  //            boolean isShowing=job.printDialog();

  //            if(isShowing)

  //            {

  //              System.out.println(this.printDate+"*************");

  RECEIPT_NO=RECEIPT_NO+1;

  job.print();

  //            }(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容