加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Java 调用打印机实现打印

(2014-11-03 11:33:56)
标签:

育儿

it

分类: javaweb

Java 调用打印机实现打印

package text;

 

import java.io.File;

import java.io.FileInputStream;

 

import javax.print.Doc;

import javax.print.DocFlavor;

import javax.print.DocPrintJob;

import javax.print.PrintService;

import javax.print.PrintServiceLookup;

import javax.print.ServiceUI;

import javax.print.SimpleDoc;

import javax.print.attribute.DocAttributeSet;

import javax.print.attribute.HashDocAttributeSet;

importjavax.print.attribute.HashPrintRequestAttributeSet;

import javax.swing.JFileChooser;

 

 

 

public class text {

 

    public static void main(String[] args) {

        JFileChooser fileChooser = newJFileChooser(); // 创建打印作业

        int state = fileChooser.showOpenDialog(null);

        if (state == fileChooser.APPROVE_OPTION) {

            File file = new File("J:/lxy/已有系统归纳.doc"); // 获取选择的文件

            // 构建打印请求属性集

            HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

            // 设置打印格式,因为未确定类型,所以选择autosense

            DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

            // 查找所有的可用的打印服务

            PrintService printService[] = PrintServiceLookup

                    .lookupPrintServices(flavor, pras);

            // 定位默认的打印服务

            PrintService defaultService = PrintServiceLookup

                    .lookupDefaultPrintService();

            // 显示打印对话框

            PrintService service = ServiceUI.printDialog(null, 200, 200,

                    printService, defaultService, flavor, pras);

            if (service != null) {

                try {

                    DocPrintJob job = service.createPrintJob(); // 创建打印作业

                    FileInputStream fis = newFileInputStream(file); // 构造待打印的文件流

                    DocAttributeSet das = new HashDocAttributeSet();

                    Doc doc = newSimpleDoc(fis, flavor, das);

                    job.print(doc, pras);

                } catch (Exception e) {

                    e.printStackTrace();

                    System.out.println("打印失败!");

                }

            }

            System.out.println("打印成功!");

        }

    }

}

 

运行结果:


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有