您的位置:首页 > 编程语言 > Java开发

纯java虚拟打印机

2015-12-05 23:25 453 查看
在项目中引入jpd.jar,示例代码如下:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;

/**
* 打印示例
*/
public class PrintDemo implements Printable {
private static final long serialVersionUID = 1L;
/**
* printable接口实现
*/
public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
if (pageIndex < 9) {
g.setColor(Color.BLUE);
g.setFont(new Font("Tahoma", Font.ITALIC, 10));
g.drawString("http://www.hgsql.com", 20, 50);
g.setColor(Color.ORANGE);
g.setFont(new Font("Tahoma", Font.PLAIN, 100));
g.drawString("第" + (pageIndex + 1) + "页", 20, 150);
return Printable.PAGE_EXISTS;
} else {
return Printable.NO_SUCH_PAGE;
}
}
}


import javax.print.DocFlavor;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;

/**
* 虚拟打印机
* @author wanghg
*/
public class VPrinter {
/**
* @param args
*/
public static void main(String[] args) {
//声明JPD虚拟打印机
try {
Class.forName("com.hg.jpd.JpdPrintService");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
// 构建打印请求属性集
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
// 设置打印格式
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
// 查找所有的可用打印服务
PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
// 定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
if (defaultService != null) {
PrintService service = ServiceUI.printDialog(null, 200, 200,
printService, defaultService, flavor, pras);
if (service != null) {
try {
service.createPrintJob().print(new SimpleDoc(new PrintDemo(), flavor, null), pras);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
}
}








大小: 11.5 KB

jpd.jar (102.5 KB)

下载次数: 277

查看图片附件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: