我正在尝试创建一个能够直接从UI打印文档的Java UI .

我能够创建和使用Javax ServiceUI,但是当从ServiceUI中选择“Print”并调用DocJob上的print()函数时,没有任何反应 . 我的打印机短暂响应,但同样快速擦除文档,表明打印机接收到文件,但无法读取 . 同样,尝试通过ServiceUI打印到PDF会导致出现不可读的(0KB)PDF文件 .

JButton btnPrint = new JButton("Print");

btnPrint.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

FileInputStream excelFile = new FileInputStream(new File(path));

DocFlavor format = DocFlavor.INPUT_STREAM.AUTOSENSE;

PrintRequestAttributeSet set = new HashPrintRequestAttributeSet();

Doc myDoc = new SimpleDoc(excelFile,format,null);

//set.add(new Copies(1));

//set.add(MediaSize.NA.LETTER);

//set.add(Sides.ONE_SIDED);

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();

PrintService[] services = PrintServiceLookup.lookupPrintServices(format, set);

System.out.println(services.length);

if (services.length > 0)

{

PrintService theService = ServiceUI.printDialog(null, 50, 50, services, defaultService, null, set);

if (theService != null)

{

try {

DocPrintJob job = theService.createPrintJob();

job.print(myDoc, set);

} catch (PrintException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

};

}

}

excelFile.close();

} catch (FileNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

});

其中 path 是要打印的选定文件(由JFileChooser选择) .

笔记:

当我最终确定此代码时,我希望能够打印Excel电子表格文件(.xlsx) . 如果Javax无法打印此格式,请告知我们

如果手动将任何属性添加到PrintRequestAttributeSet,则根本不会出现ServiceUI(请注意注释掉的set.add()函数)

如果DocFlavor设置为INPUT_STREAM.AUTOSENSE以外的任何内容,则根本不会出现ServiceUI

ServiceUI正确检测默认打印机和所有可用的打印机(只要如上所述,AttributeSet为空,DocFlavor设置为AUTOSENSE,否则无法检测到任何服务)

有什么我做错了吗?

java打印文档_从Java应用程序打印文档?相关推荐

  1. java计算机毕业设计汽车票订购系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车票订购系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车票订购系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  2. java计算机毕业设计汽车售后服务管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车售后服务管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车售后服务管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 ...

  3. java计算机毕业设计农村信息化管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计农村信息化管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计农村信息化管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开 ...

  4. java计算机毕业设计汽车维修服务系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车维修服务系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车维修服务系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

  5. java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

  6. java计算机毕业设计汽车客运站票务管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车客运站票务管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车客运站票务管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S ...

  7. java计算机毕业设计平时成绩管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计平时成绩管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计平时成绩管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

  8. java计算机毕业设计前台点菜系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计前台点菜系统源码+程序+lw文档+mysql数据库 java计算机毕业设计前台点菜系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  9. java计算机毕业设计汽车租赁管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车租赁管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车租赁管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

  10. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

最新文章

  1. 张仰彪第二排序法_十大排序之冒泡和选择排序
  2. android 实现微信分享多张图片的功能
  3. C/Cpp / 如何定义一个只能在堆上(栈上)生成对象的类?
  4. 项目中提示找不到sun.misc.BASE64Encoder
  5. 关于关闭浏览器Session就丢失的讨论
  6. C#连接sqlServer数据库详解
  7. 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解...
  8. SpringIOC容器-对象依赖
  9. 淘宝ActiveMQ安装搭建
  10. python是什么课程-吐血整理!程序员喜爱的13个免费Python课程
  11. es6遍历树结构并判断_实现树形结构数据 es6
  12. 即时通讯WebSocket
  13. 和其正的复兴梦,藏在气泡水与凉茶的碰撞里?
  14. Unity简单麻将胡牌算法
  15. Linux运维10:scp命令详解
  16. 用户画像-User Profile
  17. Deep Biaffine Attention for Dependency Parsing
  18. 混合波束成形| 高速铁路通信系统的信道估计:Location-Aided mMIMO Channel Tracking and Hybrid Beamforming for High-Speed
  19. 开源 – “这是最好的时代,这是最坏的时代”
  20. 基于simulink的无刷直流电机本体建模及六步逆变器控制

热门文章

  1. 游戏UI框架设计(三) : 窗体的层级管理
  2. [Js]删除数组指定元素
  3. 看板管理大型项目-3.每日晨会
  4. SES机箱管理知识回顾(四)之SES Over SAS
  5. php正则匹配js中变量_PHP正则表达式核心技术 第4节 php查找匹配函数使用心得
  6. vector在java中用什么_在java中使用Vector是否安全?
  7. android 实现表格横向混动_Flutter混合开发和Android动态更新实践
  8. java servlet 获取路径问题_Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析...
  9. 虚拟局域网vlan实验报告_网络交换机如何规划,VLAN原理介绍
  10. mysql 字符串有有乱码 转码_第09期:有关 MySQL 字符集的乱码问题