首页 > 编程知识 正文

java如何实现打印功能,java的打印语句

时间:2023-05-04 19:51:32 阅读:158067 作者:598

实现Java打印功能有三种方法

javax.print.PrintService使用javax.print包下的类进行打印,可以打印文档、PDF等文档

doc doc=newsimpledoc (new file inputstream (tobe print.pdf ),DocFlavor.BYTE_ARRAY.PDF,null ); printserviceps=printservicelookup.lookupdefaultprintservice (; docprint jobjob=PS.create print job (; job.print(doc,null ); java.awt.PrinterJob awt的实现可以用Printable打印Graphics,并以自己的程序绘制要打印的内容。

import java.awt.*; import java.awt.print.*; publicclassprinttoprinter { publicstaticvoidmain (string [ ] args ) throwsexception ) bookbook=newbook; PageFormat pf=new PageFormat (; pf.set orientation (page format.portrait; Paper p=new Paper (; p.setsize (590,840 ); p.setimageablearea(10、10、590、840 ); pf.setpaper(p; book.append(newonelabel ),pf ); printer job=printer job.get printer job (; job.setpageable(book ); job.print (; }/* * *实现printable后,将显示*/publicstaticclassonelabelimplementsprintable { @ overridepublicintprint (graphics graphics,plabelice=0() /此示例只有一页; return NO_SUCH_PAGE; }graphics2dG2=(graphics2d ) graphics; double scale=72.0/300; //屏DPI为72; 打印机DPI:300; 可以进行更精细的印刷,特别是图像G2.scale(scale,scale ); G2.setcolor(color.black ); doublex=page format.getimageablex (; doubley=page format.getimageabley (; System.out.println ('左上角: ' x ',' y '宽: ' pageFormat.getWidth ),' pageFormat.getHeight ) ); String str='中文字符串'; font font=new font (' Microsoft Yahoo ',Font.PLAIN,10 ); G2.setfont(font ); G2.drawstring(str,) float (x,) float (y 20 ); font font2=new font (' Microsoft Yahoo ',Font.PLAIN,20 ); G2.setfont(font2); G2.drawstring(str,) float (x,) float (y 80 ); return PAGE_EXISTS; } }} javafx.print.PrinterJob这是一个javafx实现,可以打印类似awt的Canvas

finalcanvascanvas=new canvas (250,250 ); graphicscontextgc=canvas.getgraphicscontext 2d (; GC.filltext('Hello,world.',10,10 ); printer job printer job=printer job.create printer job (; printerjob.printpage(canvas;

原文

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。