Java实现打印功能教程文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J a v a实现打印功能

Java实现打印功能

用java实现打印,java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。

下面代码实现了简单的打印功能:

import java.awt.BasicStroke;

import java.awt.Color;

import ponent;

import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D;

import java.awt.Image; import java.awt.Toolkit;

import java.awt.RenderingHin ts;

import java.awt.font.FontRen derContext;

import java.awt.font.LineBre akMeasurer;

import java.awt.font.TextAtt ribute;

import java.awt.font.TextLay out;

import java.awt.geom.Point2D;

import java.awt.image.Buffer edImage;

import java.awt.print.Book;

import java.awt.print.PageFo rmat;

import java.awt.print.Paper;

import java.awt.print.Printa ble;

import java.awt.print.Printe rException;

import java.awt.print.Printe rJob;

import java.text.AttributedS tring;

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(Grap

hics gra, PageFormat pf, int pageIndex) throws PrinterExceptio n {

System.out.prin tln("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) {

case0:

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

//Java

平台所定义的五种字体系列:Serif、SansSerif、Monospaced、

Dialog 和DialogInput

Font f ont = new Font("新宋体", Font.PLAIN, 9);

g2.setF ont(font);//设置字体

//Basic Stroke bs_3=new BasicStroke(0.5f);

float[] dash1 = {2.0f};

//设置打印线的属性。

//1.线宽2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量

g2.setS

troke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, Basi cStroke.JOIN_MITER, 2.0f, dash1, 0.0f));

//g2.se tStroke(bs_3);//设置线宽

float heigth = font.getSize2D();//字体高度

System. out.println("x="+x);

// -1-用Graphics2D直接输出

//首字符的基线(右下部)位于用户空间中的(x, y) 位置处

//g2.dr awLine(10,10,200,300);

Image

src = Toolkit.getDefaultToolkit().getImage("D:\\EclipseWorkSpace3.1 \\Kfc-wuxi\\WebRoot\\image\\KFC.jpg");

g2.draw Image(src,(int)x,(int)y,c);

int im g_Height=src.getHeight(c);

相关文档
最新文档