接口 PrintService 是 DocPrintJob 的工厂。PrintService 描述了打印机的功能,并可查询它来了解打印机支持的属性。
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;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.JFileChooser;
/**
* 建立与打印机的连接
* @author Administrator
*
*/
public class PrintDemo {
public static void main(String[] args) {
JFileChooser fileChooser = new JFileChooser(); //创建打印作业
int state = fileChooser.showOpenDialog(null);
if(state == fileChooser.APPROVE_OPTION){
File file = new File("D:/zkyzl.txt"); //获取选择的文件
//构建打印请求属性集
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 = new FileInputStream(file); //构造待打印的文件流
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
附官方详解:http://doc.java.sun.com/DocWeb/api/javax.print.PrintService
- 大小: 16.4 KB
- 大小: 12.9 KB
- 大小: 8.7 KB
- 大小: 19.5 KB
分享到:
相关推荐
使用java实现调用打印机动态指令打印条码。
Java实现斑马打印机ZPL指令打印,源码,可运行。Java调用Zebra打印机,采用ZPL指令。支持打印中文,不需要ts24.lib文件,支持打印二维码。
需要一个用户下单后自动打印订单金额发票和快递单号的功能。 具体作用是:java通过网络,调用网络打印机,打印自定义内容,比如快递单号、发票等等,文档中附带了部分快递公司的快递单模版。
Java调用小票打印机打印购物清单
java 如何调用系统打印机打印文件,也是从别人借鉴过来,免费的
公司需要一个用户下单后自动打印订单金额发票和快递单号的功能,所以特地写的工具类。...具体作用是:java通过网络,调用网络打印机,打印自定义内容,比如快递单号、发票等等,文档中附带了部分快递公司的快递单模版。
java调用本地打印机
所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮...
C++ Builder实现调用打印机打印图片
java调用并口打印机
winform调用打印机winform调用打印机winform调用打印机
java调用并口打印机 usb并口打印 无驱打印 本地打印
unity调用PC端打印机代码exe程序调用打印机代码,调用后弹出选择打印机界面,设置打印属性
将打印指令放到txt文档中,读取文档中的指令,发送到斑马打印机中,实现打印。此代码已经非常精简,项目需要用到ts24.lib,资源中也付带这个文件,并且附带一个C.txt文档的指令作为实验用。C.txt和ts24.lib请放在代码...
js调用打印机代码,可以直接对网页进行打印预览,设置,打印
1、该练习是 JNA(Java Native Access)调用 TSC 打印机的 dll 文件,操作 TSC 打印机的练习。 2、包结构 │ ReadMe.txt │ ├─DLL │ 32bit.zip │ 64bit.zip │ ├─lib │ jna.jar │ ├─ReadMe │ ...
纯java代码实现跨平台打印word、pdf、图片等信息,无需系统嵌入第三方dll文件等,方便,可移植性好。
java实现与打印机通信具体包括内容有: 1.实现打印输入文本预览打印显示 2.实现选择文件显示 3.配置打印服务器
java调用打印机实现word打印功能java调用打印机实现word打印功能