Java实现打印功能.doc
文本预览下载声明
Java实现打印功能
用java实现打印,java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。下面代码实现了简单的打印功能:
import?java.awt.BasicStroke;import?java.awt.Color;import?java.awt.Component;import?java.awt.Font;import?java.awt.Graphics;import?java.awt.Graphics2D;import?java.awt.Image;import?java.awt.Toolkit;import?java.awt.RenderingHints;import?java.awt.font.FontRenderContext;import?java.awt.font.LineBreakMeasurer;import?java.awt.font.TextAttribute;import?java.awt.font.TextLayout;import?java.awt.geom.Point2D;import?java.awt.image.BufferedImage;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.AttributedString;import?javax.swing.JApplet;public?class?PrintTest???implements?Printable{???/**???*?@param?Graphic指明打印的图形环境???*?@param?PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点)???*?@param?pageIndex指明页号???**/???public?int?print(Graphics?gra,?PageFormat?pf,?int?pageIndex)?throws?PrinterException?{???????System.out.println(pageIndex=+pageIndex);???????Component?c?=?null;??????//print?string??????String?str?=?中华民族是勤劳、勇敢和富有智慧的伟大民族。;??????//转换成Graphics2D??????Graphics2D?g2?=?(Graphics2D)?gra;??????//设置打印颜色为黑色??????g2.setColor(Color.black);??????//打印起点坐标??????double?x?=?pf.getImageableX();??????double?y?=?pf.getImageableY();?????????????switch(pageIndex){?????????case?0:???????????//设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)???????????//Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog?和?DialogInput???????????Font?font?=?new?Font(新宋体,?Font.PLAIN,?9);???????????g2.setFont(font);//设置字体???????????//BasicStroke???bs_3=new???BasicStroke(0.5f);??????????????float[]???dash1???=???{2.0f};????????????//设置打印线的属性。???????????//1.线宽?2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量???????????g2.setStroke(new???BasicStroke(0.5f,???BasicStroke.CAP_BUTT,???BasicStro
显示全部