Java_打印_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java_打印

Java_打印

 2014/4/25 13:03:12  995944  程序员俱乐部  我要评论(0)
  • 摘要:<divclass="iteye-blog-content-contain"style="font-size:14px">JAVA提供两种打印方式:一种是使用默认连接的打印机//检查可用打印机。PrinterJobprinterJob=PrinterJob.getPrinterJob();PrintServiceprintService=printerJob.getPrintService();//book是一个pageable的实现类printerJob.setPageable
  • 标签:Java
<div class="iteye-blog-content-contain" style="font-size: 14px">

JAVA 提供两种打印方式:
一种是使用默认连接的打印机
// 检查可用打印机。
PrinterJob printerJob = PrinterJob.getPrinterJob();
PrintService printService = printerJob.getPrintService();
//book是一个pageable的实现类
printerJob.setPageable(book);
printerJob.print();
优点:编码量少,只需要维护一下自己的数据(BOOK)对象以及一些页面格式等信息
缺点:如果有多个打印机时不能选择的情况
另一种打印方式:
//通过PrinterJob获取到已连接的所有打印机
PrintService[] printServices = PrinterJob.lookupPrintServices();
// 打印的job
DocPrintJob job = null;
//job要打印数据的格式
DocFlavor df = null;
//job要打印的数据
SimpleDoc sd = null;
if (printServices == null || printServices.length == 0)
{
JOptionPane.showMessageDialog(null, "目前没有可用的打印机!");
return null;
}
for (PrintService service : printServices)
{
/*根据业务或者其他条件判断使用那个打印机创建job对象
*/
if ("pdfFactory Pro".equals(service.getName()))
{
System.out.println(service.getName());
job = service.createPrintJob();

}
}
Book book = new Book();
TootooReceiptPrint tootooReceiptPrint = new TootooReceiptPrint(0,
0, orderJsonObject, itemsJsonObjects);
book.append(tootooReceiptPrint, pageFormat, 1);
//打印数据的格式的定义
df = new DocFlavor("application/x-java-jvm-local-objectref",
"java.awt.print.Pageable");
//创建打印对象
sd = new SimpleDoc(book, df, null);
/*打印,这里需要注意的是job的print方法只能调用一次
*即每个job对只能只能打印一页,当多页时,需要创建多个job
/
job.print(sd, null);
纯个人看法
</div>
发表评论
用户名: 匿名