java连接打印机_JAVA实现连接本地打印机并打印文件的实现代码
实现代码一
import javax.print.*;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import java.io.File;
import java.io.FileInputStream;
public class PrintDemo1 {
public void printPdf(String fileName) {
//构造一个文件选择器,默认为当前目录
File file = new File(fileName);//获取选择的文件
//构建打印请求属性集
PrintRequestAttributeSet 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; // 构造待打印的文件流
fis = new FileInputStream(file);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String args[]) {
PrintDemo1 pic = new PrintDemo1();
pic.printPdf("F:\\java资源2\\Docker视频教程\\赠送3-从Docker到Kubernetes之技术实战\\01.为什么你需要学习Docker\\01.pdf");
}
}
代码二
package com.iba.cxx.adm.controller;
import javax.print.*;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.*;
import java.io.File;
import java.io.FileInputStream;
/**
* Created by Administrator on 2017/9/8 0008.
*/
public class TestController {
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:/haha.txt"); //获取选择的文件
File file = fileChooser.getSelectedFile();//获取选择的文件
//构建打印请求属性集
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();
}
}
}
}
}
好了这篇文章就介绍这么多,需要的朋友可以参考一下。
java连接打印机_JAVA实现连接本地打印机并打印文件的实现代码相关推荐
- java book打印机_java如何调用本地打印机进行图片打印
用java实现本地打印:java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接 ...
- java 打印机编程_JAVA实现连接本地打印机并打印文件的实现代码
JAVA实现连接本地打印机并打印文件的实现代码 发布时间:2020-08-31 15:52:25 来源:脚本之家 阅读:96 作者:piaoyunlive 实现代码一 import javax.pri ...
- 连接到此计算机的本地打印机无法选择,Windows无法打开以添加打印机_如果无法添加本地打印机怎么办...
在日常办公室中如何添加本地打印机,打印机是必不可少的设备,但是有时将打印机连接到计算机时会遇到很多问题. 连接本地打印机对于我们的工作效率非常重要. 让我们看一下如何添加打印机. 无法将打印机添加到w ...
- java打印文件树的代码
输出的结构类似于linux下的tree命令如下: 原创不易,转载请注明出处:java打印文件树的代码 package com.zuidaima.file;import java.io.File; im ...
- xp系统远程不上服务器,WindowsXP 连接Windows 2003远程桌面 本地打印机 映射不过去 解决办法...
今天使用Windows XP连接Windows Server 2003的远程桌面,XP的本地打印机不能出现在Windows Server 2003的远程桌面.于是进行了下面的检查.还是没搞定,后来查看 ...
- java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?
求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...
- java dbcp连接池_Java——DBCP连接池
连接池 实际开发中"获得连接"或"释放资源"是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样 ...
- java redis释放连接池_Java 使用连接池操作redis
构建连接池对象JedisPool JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379); ...
- mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理
前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...
- JAVA ftps设置_Java使用JSCH实现对FTPS服务器文件操作
SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SF ...
最新文章
- SpringBoot初体验
- Android: BaseAdapter 实现分页
- 009_jQuery链式编程
- 论文《learning to link with wikipedia》
- java基础实例代码_Java基础实例
- activemq 内存_ActiveMQ:了解内存使用情况
- BZOJ 4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III
- 【分布式】一致性协议
- Android开发性能优化大总结
- 《纽约时报》:乔布斯最后的日子 与家人相伴
- Linux进程地址空间布局
- PostgreSQL与MySQL语法对比总结
- CFA Notes第一遍完成
- EasyDarwin开源云平台接入海康威视EasyCamera摄像机之快照获取与上传
- 瞎琢磨先生のJava工具类
- Oracle表空间已满解决方案
- 小米手机系统好牛,真是国产系统的佼佼者
- 强烈建议收藏!达芬奇素材离线的六种解决方法
- JAVASCRIPT之函数-输入秒J数转换成时分秒的一个小效果
- BI 如何让SaaS产品具有 “安全感”和“敏锐感”(上)
热门文章
- Ubuntu 16.04 鼠标光标消失的解决方法(右键可弹窗,可以点击)
- 罗德里格斯公式附图推导,理解
- 写一篇计算机专业的专升本周记不少于150字
- 《计算机组成原理(微课版)》第4章课后习题答案
- [pbootcms模板]作文网站/文档下载网站源码
- java方法的继承 ppt,Java学习之继承基本介绍和实例方法,java学习继承实例
- JAVA面向对象----封装
- 为什么要去学习底层的知识
- 深圳市气象局华为云AI:无畏气象变幻,乘风踏浪而行
- 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...