实现代码一

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实现连接本地打印机并打印文件的实现代码相关推荐

  1. java book打印机_java如何调用本地打印机进行图片打印

    用java实现本地打印:java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接 ...

  2. java 打印机编程_JAVA实现连接本地打印机并打印文件的实现代码

    JAVA实现连接本地打印机并打印文件的实现代码 发布时间:2020-08-31 15:52:25 来源:脚本之家 阅读:96 作者:piaoyunlive 实现代码一 import javax.pri ...

  3. 连接到此计算机的本地打印机无法选择,Windows无法打开以添加打印机_如果无法添加本地打印机怎么办...

    在日常办公室中如何添加本地打印机,打印机是必不可少的设备,但是有时将打印机连接到计算机时会遇到很多问题. 连接本地打印机对于我们的工作效率非常重要. 让我们看一下如何添加打印机. 无法将打印机添加到w ...

  4. java打印文件树的代码

    输出的结构类似于linux下的tree命令如下: 原创不易,转载请注明出处:java打印文件树的代码 package com.zuidaima.file;import java.io.File; im ...

  5. xp系统远程不上服务器,WindowsXP 连接Windows 2003远程桌面 本地打印机 映射不过去 解决办法...

    今天使用Windows XP连接Windows Server 2003的远程桌面,XP的本地打印机不能出现在Windows Server 2003的远程桌面.于是进行了下面的检查.还是没搞定,后来查看 ...

  6. java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?

    求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...

  7. java dbcp连接池_Java——DBCP连接池

    连接池 实际开发中"获得连接"或"释放资源"是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection.这样 ...

  8. java redis释放连接池_Java 使用连接池操作redis

    构建连接池对象JedisPool JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379); ...

  9. mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  10. JAVA ftps设置_Java使用JSCH实现对FTPS服务器文件操作

    SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SF ...

最新文章

  1. SpringBoot初体验
  2. Android: BaseAdapter 实现分页
  3. 009_jQuery链式编程
  4. 论文《learning to link with wikipedia》
  5. java基础实例代码_Java基础实例
  6. activemq 内存_ActiveMQ:了解内存使用情况
  7. BZOJ 4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III
  8. 【分布式】一致性协议
  9. Android开发性能优化大总结
  10. 《纽约时报》:乔布斯最后的日子 与家人相伴
  11. Linux进程地址空间布局
  12. PostgreSQL与MySQL语法对比总结
  13. CFA Notes第一遍完成
  14. EasyDarwin开源云平台接入海康威视EasyCamera摄像机之快照获取与上传
  15. 瞎琢磨先生のJava工具类
  16. Oracle表空间已满解决方案
  17. 小米手机系统好牛,真是国产系统的佼佼者
  18. 强烈建议收藏!达芬奇素材离线的六种解决方法
  19. JAVASCRIPT之函数-输入秒J数转换成时分秒的一个小效果
  20. BI 如何让SaaS产品具有 “安全感”和“敏锐感”(上)

热门文章

  1. Ubuntu 16.04 鼠标光标消失的解决方法(右键可弹窗,可以点击)
  2. 罗德里格斯公式附图推导,理解
  3. 写一篇计算机专业的专升本周记不少于150字
  4. 《计算机组成原理(微课版)》第4章课后习题答案
  5. [pbootcms模板]作文网站/文档下载网站源码
  6. java方法的继承 ppt,Java学习之继承基本介绍和实例方法,java学习继承实例
  7. JAVA面向对象----封装
  8. 为什么要去学习底层的知识
  9. 深圳市气象局华为云AI:无畏气象变幻,乘风踏浪而行
  10. 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...