代码如下:

PrintTest.java

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

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.text.SimpleDateFormat;

import java.util.Date;

import jp.co.snjp.model.RentDetail;

import jp.co.snjp.parameter.RentRecordParameter;

public class PrintTest implements Printable

{

private String roomID;

private Date printDate;

private Integer rentType;

private Float waterFee;

private Float electricityFee;

private Float rent;

private String remark;

private static int RECEIPT_NO =0;

public PrintTest()

{

}

public PrintTest printTest;

public PrintTest(RentRecordParameter prentRecord,RentDetail prentDetail)

{

this.roomID = prentRecord.getRoomId()+"房间";

this.printDate = prentRecord.getRegisterDate();

this.rentType = prentRecord.getRentType();

this.waterFee = prentDetail.getWaterBill();

this.electricityFee = prentDetail.getElectricityBill();

this.rent = prentDetail.getRent();

this.remark = prentDetail.getRemark();

}

/** */

/**

* @param Graphic指明打印的图形环境

* @param PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点)

* @param pageIndex指明页号

**/

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

throws PrinterException

{

//print string

String receiptTitle = "收款收据";

String content1="今收到";

String feeItem = null;

Float rentTotal = 0f;

String content2="总计人民币(大写)";

//收款的内容(根据租赁类型,只有"房租","房租,水费,电费"两种值).

switch(this.rentType)

{

case 1:

feeItem = "房租,押金";

rentTotal=this.rent;

break;

case 2:

feeItem = "房租,押金,水费,电费";

rentTotal=this.rent+this.electricityFee+this.waterFee;

break;

default:

feeItem = "未知收费项目";

}

//转换成Graphics2D

Graphics2D graphics2D = (Graphics2D) graphics;

//设置打印颜色为黑色

graphics2D.setColor(Color.black);

//打印起点坐标x=10

double x = pf.getImageableX();

double y = pf.getImageableY();

System.out.println("打印起点坐标值是{"+x+","+y+"}。");

switch (pageIndex)

{

case 0:

//设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)

//Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput

Font font = new Font("

java 打印收据_如何用Java代码生成打印收据相关推荐

  1. java esc的_如何用Java中的Receipt打印机和ESC / POS命令提高速度

    我有一个与Java和热敏打印机通信的应用程序 使用Star tsp 100打印机使热敏打印机以条形码/强调/不同尺寸打印收据等. 我可以让程序打印出我喜欢的东西,但打印机很慢.我相信原因是我使用非优选 ...

  2. java 网络爬虫_如何用Java实现网络爬虫

    原标题:如何用Java实现网络爬虫 微信公众号"书圈"后台回复[Javapachong1],下载本例的PPT和源码 作品描述 本章作品是一个能够抓取指定网站ACM比赛信息的爬虫.A ...

  3. java 判断手机号_如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  4. java画五角星_如何用Java程序写出五角星?

    展开全部 第一种,用图形 import java.awt.*; import javax.swing.*; public class WuJiaoXing extends JPanel { priva ...

  5. 怎么用java做日历_如何用Java制作一个简易日历

    简易日历制作 记录一下Java实现的一个日历小程序,效果图如下: 实现以上的效果,我们需要用到两个类:SimpleDateFormat和Calendar. 首先看看这两个类的用法: 类 SimpleD ...

  6. python java 爬数据_如何用java爬虫爬取网页上的数据

    当我们使用浏览器处理网页的时候,有时候是不需要浏览的,例如使用PhantomJS适用于无头浏览器,进行爬取网页数据操作.最近在进行java爬虫学习的小伙伴们有没有想过如何爬取js生成的网络页面吗?别急 ...

  7. java 填充字符串_如何用Java填充字符串?

    素胚勾勒不出你 从Java 1.5开始,String.format()可用于左/右衬垫给定的字符串.public static String padRight(String s, int n) { r ...

  8. java 字符串 加密_如何用JAVA实现字符串简单加密解密?

    展开全部 java加密字符串可以使用des加密算法62616964757a686964616fe4b893e5b19e31333363376462,实例如下: package test; import ...

  9. java编写正则表达式_如何用Java编写最快的表达式评估器之一

    java编写正则表达式 当然,标题有点吸引人,但确实如此(您当然不相信自己没有伪造自己的基准,但这是另一回事了). 因此,上周我正在寻找一个小型且可用的库来评估数学表达式. 我几乎直接偶然发现了这个s ...

最新文章

  1. 程序员如何用Java排序
  2. 一文搞定C语言本地变量和全局变量
  3. 《深入理解Nginx》阅读与实践(四):简单的HTTP过滤模块
  4. uva 11714——Blind Sorting
  5. Linux C高级编程——文件操作之库函数
  6. TensorFlow精进之路(十六):使用slim模型库对图片分类
  7. Atitit 人工智能体系树培训列表应用较为广泛的技术.docx Atitit 人工智能体系培训列表 目录 1. 1.NLP自然语言处理文本处理 2 1.1. 语言理解 分词 2 1.2. 抽取
  8. 推荐一款免费还开源的数据库可视化软件(DBeaver)
  9. 多项式秦九韶算法c语言
  10. 查询给定区域内曲面平均高程
  11. android带方框倒计时,带倒计时提示的弹框
  12. [ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择
  13. 使用注解失败的原因及解决方法
  14. 超赞的实用前端社区精选?
  15. php redis rpoplpush,Redis Rpoplpush 命令 - Redis 教程 - 自强学堂
  16. 计算机程序执行的两种方式:解释执行和编译执行
  17. 【区块链】数字货币-CCCX
  18. 富士胶片出展世界5G大会展示8K镜头等尖端产品
  19. 实时通信 socketio nio 总结
  20. 火灾自动报警门监控系统设计安装

热门文章

  1. python定义栈_Python开发中栈的定义及用法详解
  2. 理解Context内涵
  3. 在三线城市,干什么工作工资才会理想?
  4. Petal Maps的美学钥匙,解锁AITO问界M5的硬核浪漫
  5. MVVM与MVC原理图解
  6. 你做过哪些勇敢的事?
  7. Newman介绍与安装
  8. 21 | 毕业了,户口和档案怎么安排
  9. Drools6.4 Eclipse插件安装
  10. SpringBoot-基础(servlet3+springMVC去除所有的xml)