<script type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length>300) {
text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href;
clipboardData.setData("text", 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)+'&u='+escape(d.location.href)+'&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();
}
}
}
分享到:
相关推荐
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
在Java学习过程中,Web服务器的实现是一个重要的环节。本文主要探讨了如何使用Java构建一个简单的Web服务器,并涉及到了相关的输入输出流操作、编程思路、调试方法以及遇到的问题和下一步的计划。 首先,字符串操作...
以下是从给定的文件内容中提炼出的一些Java学习的关键知识点: 1. **循环与嵌套循环**: 在第一个例子中,使用了嵌套循环来打印特定的图形。`for`循环是Java中的基本迭代结构,用于重复执行一段代码,直到满足某个...
### JAVA经典教材笔记知识点梳理 #### 第一章:JAVA概述及开发环境搭建 - **Java学习概述** - Java作为一种广泛使用的编程语言,其学习路径包括掌握基本语法、理解面向对象编程思想、熟悉标准库使用等。 - **JAVA...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。这份"java笔记"是专为初学者设计的,旨在帮助那些对编程没有基础的人快速掌握Java核心技术。笔记采用Ediplus编辑器编写,这是一款轻量级...
1994年,高斯林在硅谷大会上展示了Java的功能,引起了业界的广泛关注。1995年,Sun公司正式发布了Java的第一个版本,现在最新的版本是JDK 7.0。 Java有三个主要平台,分别是: 1. J2SE(Java Development Kit ...
根据提供的文件信息,这里将深入解析“ant学习笔记:一个简单的java编译部署实例”,涵盖标题、描述、标签以及部分内容中提及的关键知识点。 ### Apache Ant简介 Apache Ant是一款开源的Java环境下的自动化构建...
### 韩顺平Java从入门到精通视频教程学习笔记整理 #### Java开发平台与运行机制 - **J2SE(Java 2 Platform Standard Edition)**:Java的标准版平台,适用于开发桌面应用程序,包含了Java的核心类库和技术。 - **...
《MLDN——Java Web开发实战经典源码笔记(基础篇)》是一本专注于Java Web开发的实战教程,旨在帮助读者从零开始掌握Web应用的开发技术。这本书通过深入浅出的讲解和丰富的实例代码,全面介绍了Java Web开发的基础...
### Java学习笔记:深入理解JDK安装、配置与类的基础 #### JDK的安装与配置 在开始Java编程之旅前,首要任务是安装JDK(Java Development Kit),这是Java开发环境的核心,包含了编译、运行Java程序所需的所有工具...
JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做...
【JAVA初学者笔记:理解逻辑基础】 在编程领域,Java是一种广泛应用的高级编程语言,尤其适合初学者。本文将从基础出发,帮助你理解和掌握Java编程的基本概念。 首先,了解什么是程序。程序是一系列有序指令的集合...
implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 (information [,infә'meiʃәn] ) Inheritance [java] 继承 [in'heritәns] (遗传,遗产) initialize 预置 初始化 [i'ni...
"开始,这是了解如何在Java中输出文本的最简单方式。 - **数据结构与算法**:通过实际案例学习数组、链表、栈、队列等基础数据结构,以及排序、搜索等常见算法。 5. **笔记部分**: - **理论讲解**:笔记可能涵盖...
### LotusDomino学习笔记知识点概览 #### 1. 选取视图的列的内容 (@Trim @DbColumn) - **@Trim**: 是一个内置的LotusScript函数,用于去除字符串两端的空白字符。 - **@DbColumn**: 此函数用于获取指定列的信息。...
这份"java日常笔记安装包"包含了关于Java学习的重要知识点,很适合初学者和有经验的开发者用来巩固基础或查阅参考资料。 1. **Java环境搭建**:首先,学习Java需要在计算机上安装Java Development Kit (JDK),它...
### 个人笔记--JAVA基础 #### 一、初识Java **1.1. Java语言是什么** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它被设计为简单、面向对象、分布式、解释型、健壮、安全、与体系结构...
它可能包含了关于如何组织代码、实现特定功能的具体步骤,或者是开发者在编写计算器过程中遇到的问题及解决方案。 7. **学习价值** 这个简单的Java计算器项目是学习基础Java语法、控制流、异常处理以及用户输入...