`
lgl669
  • 浏览: 169177 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于java打印功能的最简单实现的学习笔记

    博客分类:
  • java
阅读更多


<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData(&quot;text&quot;); if (text &amp;&amp; text.length&gt;300) { text = text + &quot;\r\n\n本文来自CSDN博客,转载请标明出处:&quot; + location.href; clipboardData.setData(&quot;text&quot;, text); } }, 100); } } </script><script class="blogstory">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

/*
关于java打印功能的最简单实现的学习笔记
*/

import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
import javax.print.event.*;

import java.net.URL;

public class PrintDemo{
 public static void main(String[] args){

//第一步:定位打印服务(打印机)

  //定义打印机支持的文档类型
  DocFlavor fr = DocFlavor.URL.GIF;
  /*
  创建DocFlavor实例需要两个参数(String),
  一个是表示MIME类型,一个是表示类的名称
  */
  //很多情况下,不一定要创建DocFlavor实例
  PrintService[] allps = PrintServiceLookup.lookupPrintServices(null,null);
   //检索所有的可用打印机服务
    for(int i=0;i<allps.length;i++){
   System.out.println(allps[i].getName());  
  }
  //通常情况下只要获取默认的打印服务就ok了
  PrintService defaultps = PrintServiceLookup.lookupDefaultPrintService();
  System.out.println(defaultps.getName());
  //定义属性(javax.print.attribute包)
  PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
  //这里的属性不能为null,否则,IIlegalArgumentException
  PrintService select = ServiceUI.printDialog(null,100,100,allps,defaultps,null,attrs);
  
//第二步:创建打印任务
  
  DocPrintJob job = defaultps.createPrintJob();//?这里的services是调用哪个对象,需要进一步验证
//第三步:获取打印数据
 try{
  URL url = new URL("http://localhost:8080/demo/printtest.gif ");
  DocFlavor flavor = DocFlavor.URL.GIF;
  SimpleDoc doc = new SimpleDoc(url,flavor,null);

//第四步:初始化打印
  //javax.print.attribute.standard包中有很多有用的实现!
  //attrs.add(new Copies(2));
  attrs.add(OrientationRequested.LANDSCAPE);
  job.print(doc,attrs);

//监控打印任务(可选)
  job.addPrintJobListener(new PrintJobAdapter(){
   public void printDataTransferCompleted(PrintJobEvent event){
    System.out.println("数据传输成功!!");
   }
   public void printJobNoMoreEvents(PrintJobEvent event){
    System.out.println("该接口中没有更多的方法可以让打印机调用!!");
   }
   public void printJobCanceled(PrintJobEvent event){
    System.out.println("取消打印服务!!");
   }
   public void printJobCompleted(PrintJobEvent event){
    System.out.println("打印任务完成!!");
   }
   public void printJobFailed(PrintJobEvent event){
    System.out.println("打印任务失败!!");
   }
   public void printJobRequiresAttention(PrintJobEvent event){
    System.out.println("可以恢复的错误,如打印机缺纸!!");
   }
  });
  
  
 }catch(Exception e){
  e.printStackTrace();
 } 
  
}

}

分享到:
评论

相关推荐

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Java 学习笔记Java学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记

    java学习笔记.zip

    java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...

    Java基础 学习笔记 Markdownr版

    Java基础 java学习笔记 Java Java基础Markdown学习笔记,可转换成PDF、Word等格式

    JAVA个人学习笔记

    JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记

    java学习笔记.txt

    java学习笔记,java基础知识,只用于个人学习。

    Java软件开发魔典资源库 学习笔记

    Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件...

    java笔记本功能实现

    java实现一个笔记本功能,适用于学生作业,可以实现打印,复制,粘贴,撤销,保存等功能

    java学习笔记.doc

    java学习笔记.doc java学习笔记 java学习 学习笔记 java

    java学习笔记1

    在学习java过程中的笔记。

    java学习笔记java学习笔记java学习笔记

    java学习笔记java学习笔记java学java学习笔记习笔记

    java学习笔记java学习笔记java学习笔记java学习笔记

    java学习笔记

    java学习笔记markdown

    狂神说java学习笔记,markdown版

    最全的java学习笔记整理

    java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0开始学习 java学习笔记,从0...

    Java 学习笔记.pdf

    Java 学习笔记.pdf Java 学习笔记.pdf Java 学习笔记.pdf Java 学习笔记.pdf

    Java学习笔记(源码)

    Java学习笔记(源码)Java学习笔记(源码)Java学习笔记(源码)Java学习笔记(源码)Java学习笔记(源码)Java学习笔记(源码)

    Java JDK 7学习笔记 PDF

    Java JDK 7学习笔记 PDF

    Java课堂笔记学习Java课堂笔记学习

    Java学习课堂笔记

    Java学习笔记7.0

    《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型...

Global site tag (gtag.js) - Google Analytics