版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java实现打印功能用java实现打印,java.awt中供给了一些打印的API,要实现打印,第一要获取打印对象,而后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。下边代码实现了简单的打印功能:importjava.awt.BasicStroke;importjava.awt.Color;importjava.awt.Component;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.Toolkit;importjava.awt.RenderingHints;importontext;importasurer;importte;importjava.awt.font.TextLayout;importjava.awt.geom.Point2D;importage;importjava.awt.print.Book;importjava.awt.print.PageFormat;importjava.awt.print.Paper;importjava.awt.print.Printable;importeption;importjava.awt.print.PrinterJob;importg;importjavax.swing.JApplet;publicclassPrintTestimplementsPrintable{/***@paramGraphic指明打印的图形环境*
@paramPageFormat指明打印页格式(页面大小以点为计量单位,
1点为
1英才的
1/72,1英寸为
25.4毫米。A4纸大概为595×842点)*@parampageIndex指明页号**/publicintprint(Graphicsgra,PageFormatpf,intpageIndex)throwsPrinterException{System.out.println("pageIndex="+pageIndex);Componentc=null;//printstringStringstr="中华民族是勤奋、英勇和富裕智慧的伟大民族。";//变换成Graphics2DGraphics2Dg2=(Graphics2D)gra;//设置打印颜色为黑色g2.setColor(Color.black);打印起点坐标doublex=pf.getImageableX( );doubley=pf.getImageableY( );switch(pageIndex){case0:设置打印字体(字体名称、款式和点大小)(字体名称能够是物理或许逻辑名称)//Java平台所定义的五种字系统列:Serif、SansSerif、Monospaced、Dialog和DialogInputFontfont=newFont("新宋体",Font.PLAIN,9);g2.setFont(font);//设置字体//BasicStrokebs_3=newBasicStroke(0.5f);float[]dash1={2.0f};//设置打印线的属性。//1.线宽2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量g2.setStroke(new
BasicStroke(0.5f,
BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER,
2.0f,
dash1,
0.0f));//g2.setStroke(bs_3);//设置线宽floatheigth=font.getSize2D( );//字体高度System.out.println("x="+x);//-1-用Graphics2D直接输出//首字符的基线(右下部)位于用户空间中的(x,y)地点处//g2.drawLine(10,10,200,300);ImagesrcToolkit.getDefaultToolkit( ).getImage("D:\\EclipseWorkSpace3.1\\Kfc-wuxi\\WebRoot\\image\\KFC.jpg");g2.drawImage(src,(int)x,(int)y,c);intimg_Height=src.getHeight(c);intimg_width=src.getWidth(c);//System.out.println("img_Height="+img_Height+"img_width="+img_width);g2.drawString(str,(float)x,(float)y+1*heigth+img_Height);g2.drawLine((int)x,(int)(y+1*heigth+img_Height+10),(int)x+200,(int)(y+1*heigth+img_Height+10));g2.drawImage(src,(int)x,(int)(y+1*heigth+img_Height+11),c);returnPAGE_EXISTS;default:returnNO_SUCH_PAGE;}}publicstaticvoidmain(String[]args){//平常理解就是书、文档Bookbook=newBook();//设置成竖打PageFormatpf=newPageFormat( );pf.setOrientation(PageFormat.PORTRAIT);//经过Paper设置页面的空白边距和可打印地区。一定与实质打印纸张大小符合。Paperp=newPaper( );p.setSize(590,840);//纸张大小p.setImageableArea(10,10,590,840);//A4(595X842)设置打印地区,其实0,0应当是72,72,由于A4纸的默认X,Y边距是72pf.setPaper(p);//把PageFormat和Printable增添到书中,构成一个页面book.append(newPrintTest( ),pf);获取打印服务对象PrinterJobjob=PrinterJob.getPrinterJob( );//设置打印类job.s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2112班疫情防控心理健康教育
- 医学研究开题答辩模板
- 2024年《条据》公开课教案:探索多元化教学
- 小燕子音乐活动
- 2024年办公室内装饰设计与施工协议
- 糖尿病老年人护理
- 前传导延迟症候群手术的术前评估和术后处理
- 关于油田冬防保温的稿件
- 齐鲁工业大学《材料工程基础》2023-2024学年第一学期期末试卷
- 电商平台2024年度合作劳动协议
- 大学美育(同济大学版)学习通超星期末考试答案章节答案2024年
- 过敏性休克完整版本
- 应急第一响应人理论考试试卷(含答案)
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
- 2024年湖北省工业建筑集团有限公司招聘笔试参考题库含答案解析
- 软件工程师专业人物访谈
- 交通银行企业文化理念
- 土壤板结与改良方法.ppt
- 盘县地域分异汇总
- aspcms后台操作说明书
- 免疫学发展简史及展望PPT课件
评论
0/150
提交评论