java 打印图片

来源:互联网 发布:java scanner读取char 编辑:程序博客网 时间:2024/05/18 15:05

参考 http://tiansoft.iteye.com/blog/1120161



import java.io.FileInputStream;import java.io.IOException;import javax.print.Doc;import javax.print.DocFlavor;import javax.print.DocPrintJob;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;import javax.print.attribute.standard.Copies;/** * java打印图片 *  * @author Administrator *  */public class javaprintimg {/** * 画图片的方法 *  * @param fileName *            [图片的路径] */public void drawImage(String fileName) {try {DocFlavor dof = null;// 根据用户选择不同的图片格式获得不同的打印设备if (fileName.endsWith(".gif")) {// gifdof = DocFlavor.INPUT_STREAM.GIF;} else if (fileName.endsWith(".jpg")) {// jpgdof = DocFlavor.INPUT_STREAM.JPEG;} else if (fileName.endsWith(".png")) {// pngdof = DocFlavor.INPUT_STREAM.PNG;}// 字节流获取图片信息FileInputStream fin = new FileInputStream(fileName);// 获得打印属性PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();// 每一次默认打印一页pras.add(new Copies(1));// 获得打印设备 ,字节流方式,图片格式PrintService pss[] = PrintServiceLookup.lookupPrintServices(dof,pras);// 如果没有获取打印机if (pss.length == 0) {// 终止程序return;}// 获取第一个打印机PrintService ps = pss[0];System.out.println("Printing image..........." + ps);// 获得打印工作DocPrintJob job = ps.createPrintJob();// 设置打印内容Doc doc = new SimpleDoc(fin, dof, null);// 出现设置对话框PrintService service = ServiceUI.printDialog(null, 50, 50, pss, ps,dof, pras);if (service != null) {// 开始打印job = service.createPrintJob();job.print(doc, pras);fin.close();}} catch (IOException ie) {// 捕获io异常ie.printStackTrace();} catch (PrintException pe) {// 捕获打印异常pe.printStackTrace();}}/** * 主函数 *  * @param args *  */public static void main(String args[]) {javaprintimg dp = new javaprintimg();dp.drawImage("C:/WINDOWS/RFID/erwei0.jpg");}}


原创粉丝点击