JAVA实现连接本地打印机并打印文件的实现代码

发布时间:2020-08-31 15:52:25

来源:脚本之家

阅读:96

作者:piaoyunlive

实现代码一

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

    实现代码一 import javax.print.*; import javax.print.attribute.DocAttributeSet; import javax.print.attribu ...

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

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

  3. Win10 电脑无法连接另外一台电脑的共享打印机提示Windows无法连接到打印机,拒绝访问

    环境: Win10 专业版 Epson L1110打印机 问题描述: 电脑A共享自己的打印机 电脑B共享电脑A的打印机 电脑B连接电脑A的共享打印机提示Windows无法连接到打印机,拒绝访问 解决方 ...

  4. java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)

    java数据库编程,JDBC连接(原生数据库连接) JDBC严格来讲不属于一门技术,它属于一种服务.所有的操作流程都是固定的.JDBC是java提供的数据库操作的一个标准(它就是一组相关的标准接口), ...

  5. Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例

    Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...

  6. java打印文件树的代码

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

  7. c java socket编程_java+swing C/s模式的socket编程与长短连接

    java+swing C/s模式的socket编程与长短连接 什么是socket 长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要 ...

  8. java 模拟简单打印机功能_java之玩转打印机

    说在前面 很喜欢并发,所以一直在学并发.这就是因为爱,所以爱了吧!对了,上次说到去南天的事情,我过了,还算对得起自己吧,毕竟连hr都当面夸我优秀,哈哈! demo一之采用Lock锁仿一个打印机随机打印 ...

  9. 无法访问其他计算机共享打印机,想共享别人的打印机,但显示无法连接到打印机怎么处理?高手来!...

    可以通过如下步骤解决: 1.被共享的打印机主机电脑需要开启Guest用户,右击"我的电脑"-"管理"-本机使用者和群组-"使用者"-双击&q ...

最新文章

  1. Elk5安装X-Pack
  2. Zabbix添加客户端步骤
  3. Visio对象插入Word后周围空白过大
  4. 基于linux的java学习,Java学习---Linux总结
  5. iphone查看删除的短信_想要恢复已经删除的的短信怎么办?
  6. LeetCode 662 二叉树最大宽度
  7. 短期记忆容量必需有限
  8. 漫画 | 程 序 员 脱 单 指 南
  9. 求最长上升子序列(Lis模板)
  10. python发送html格式邮件,python 发送html格式邮件到qq(示例代码)
  11. 如何进行动态的SQL环境搭建?
  12. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第十章 20世纪的科学技术变革
  13. ThinkPHP6.0学习入门:环境搭建与安装教程
  14. USB转RS485代替PC/PPI通讯电缆
  15. [励志][经验]《异类》 -- 格拉德威尔(美)
  16. Ty学习笔记-Redis6
  17. 电脑蓝屏,错误代码为“KERNEL STACK INPAGE ERROR”
  18. Excel数据透视表经典教程十《值的汇总及显示方式》
  19. html中图片自动循环滚动代码,实现长图片自动循环滚动效果
  20. Pycharm:注释、删除所有注释

热门文章

  1. 使用Java实现微信小程序订阅消息
  2. 2020上海国际电力电工展——安科瑞参展产品提前剧透
  3. CListCtrl控件使用
  4. 襄阳文理学院计算机分数线,湖北文理学院理工学院历年录取分数线多少及各省最低投档线统计表...
  5. 快速开发平台,让开发变得简单
  6. 美术生学画画如何突破瓶颈期
  7. Linux下磁盘加密——luks
  8. Java NIO通信框架在电信领域的实践
  9. 准备奔向新时代的技术nodejs+express+mongodb+json
  10. Android进阶七:RecyclerView拖动滑动之ItemTouchHelper