java调用window系统默认打印机
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.JFileChooser;
public class PrintDemo {
public static void main(String[] args) {
JFileChooser fileChooser = new JFileChooser(); // 创建打印作业
File file = new File("f:/111.txt"); // 获取选择的文件
// 构建打印请求属性集
HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
// 设置打印格式,因为未确定类型,所以选择autosense
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// 定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
InputStream fis = null;
try {
DocPrintJob job = defaultService.createPrintJob(); // 创建打印作业
fis = new FileInputStream(file); // 构造待打印的文件流
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
最新文章
- 软件定义网络是否会终结命令行界面的命运
- bmp格式图片缩放(位图缩放)
- SV,class学习笔记五、参数化类(parameterized class)
- 5个超好用的自媒体网站,免费用
- 关于串联匹配电阻其作用
- MFC CStdioFile简单用法
- 微信小程序滚动Tab选项卡:左右滑动切换、触底加载分页
- 函数的callee和caller的区别和用处
- 数电基础知识目录
- 【janus 】openresty +janus
- 一个程序员的学习历程
- 【tflearn系列教程】(一)为什么要学tflearn?
- java接口和抽象类的区别(经典面试题)
- 71个外贸工具集合!2023年外贸业务员开发客户必备!
- Teager能量算子(TEO)
- 手把手教你安装 Fedora
- jscript和javascript区别