java打印空白页_java - DocPrintJob在随机主机上打印空白页 - 堆栈内存溢出
我在各种主机和打印机上打印包含某些标签的PDF时遇到问题。 在某些主机上,我的应用程序打印了许多空白页,但在其他主机上,一切正常。 我不知道为什么。 我没有任何空异常或其他东西。
在装有Linux和带有网络打印机的JRE10的主机上,我的应用程序正常运行。 它正在完美地打印一张A4页。
在与上述相同的主机上,但在Windows 7和JRE10上(我也尝试过使用JRE8,仍然没有尝试),并且同一台网络打印机上,我的应用程序正在打印许多空白/空白页。 (与上述网络,打印机和主机相同)
因此,我测试了另一台具有JRE10和上述网络打印机的Windows 10主机。 应用程序正在打印许多空白/空白页。
在其他装有Windows 7和JRE8的主机上,但使用不同的网络打印机,我的应用程序正确打印了标签。 它正在完美地打印一张A4页。
在使用Windows 7和JRE8的另一台不同主机上以及在不同网络打印机应用程序上打印空白页。
问题可能出在哪里? 是不稳定的JRE还是我的代码错误?
码:
public static String printPdf(byte[] pdf){
log.debug("printPdf(byte["+pdf.length+"])");
log.info("All printers:"+ Printer.getAllPrinters());
PrinterJob printerJob = PrinterJob.createPrinterJob();
if(printerJob==null){
log.warn("No priters were found in system");
return "[E:2]";
}
Printer printer = null;
if(printerJob.showPrintDialog(null))
{
log.info("Selected printer " + printerJob.getPrinter().getName());
printer = printerJob.getPrinter();
}
DocFlavor docType = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.ISO_A4);
PrintService[] pservices = PrintServiceLookup.lookupPrintServices(null, aset);
String pserv = Arrays.stream(pservices).map(printService -> printService.getName()).collect(Collectors.joining(", "));
log.debug("Available print services:" + pserv);
DocPrintJob docPrintJob = null;
for(PrintService ps : pservices){
log.debug("PrintSevice: "+ps.getName());
if(ps.getName()==printer.getName()){
log.info("Serviece for a printer was founded");
docPrintJob = ps.createPrintJob();
}
}
if (docPrintJob!=null) {
log.debug("Created DocPrintJob: " +docPrintJob.getAttributes().toString());
try {
Doc doc = new SimpleDoc(new ByteArrayInputStream(pdf), docType, null);
log.info("Printing document");
docPrintJob.print(doc, aset);
} catch (PrintException e) {
log.error("PrintException", e.getMessage(), e);
return "[E:3]";
}
}else {
log.error("Null DocPrintJob");
return "[E:4]";
}
return "OK";
}
java打印空白页_java - DocPrintJob在随机主机上打印空白页 - 堆栈内存溢出相关推荐
- java ftp 关闭连接_java - 使用Java Apache FTPClient进行FTP TLS获取“握手时远程主机关闭连接”[重复] - 堆栈内存溢出...
我在Windows 10 64x上为FTP TLS(org.apache.commons.net.ftp)运行了一个Java(1.8)程序: FTPSClient ftpClient = new FT ...
- Java筛选重复名字输出单一的,java - 输入:一个单词的字符串。 打印给定字符串的所有重排,而无需重复。 爪哇 - 堆栈内存溢出...
这是我想到的最简单的方法 String str= "abc"; ArrayList letters = new ArrayList(); HashSet combinations ...
- aws java mysql_java - AWS EC2 / MySql - spring boot无法从datasource确定jdbc url - 堆栈内存溢出...
我有一个简单的Spring Boot应用程序,我试图在基于Amazon AMI的Amazon EC2实例上部署. 它使用MySql数据库(版本8.0.15). 我在AWS上创建了数据库,当我从本地系统 ...
- java服务器返回错误码,java - java.io.IOException:服务器返回URL的HTTP响应代码:409 - 堆栈内存溢出...
我正在使用某些应用程序的API下载文档. 问题是,当我尝试解析inputStream时,它将引发响应代码409异常. 但是最大的问题是它有时会抛出此异常. 此异常的原因是什么? 这是我的代码: URL ...
- java spring 打包后找不到路径,java - Spring中的类路径问题:找不到文件异常 - 堆栈内存溢出...
我有一个简单的Java Spring IO项目,其中的一个类应该从csv文件读取,对于每个读取的记录,参数都存储在帐户对象列表中. 我正在使用Force IDE Luna,并且读取文件的Class C ...
- java mapper.readtree_java - 杰克逊的readValue和readTree:何时使用哪个? - 堆栈内存溢出...
我刚刚开始使用Jackson JSON库. 杰克逊是一个非常强大的库,但它有一个非常广泛的API. 很多事情可以通过多种方式完成. 这使得很难在杰克逊找到自己的方式 - 如何知道什么是正确/最好的做事 ...
- java游戏怎么导入jme3,java - JME:将带有纹理的Cinema 4d模型导入jMonkey Projekt - 堆栈内存溢出...
我的问题是: 现在,我想将其导出到我的jMonkeyEngine中,以将其设置在场景中并对其进行动画处理. 我试图将模型导出为.obj文件并将其加载到我的项目中(只是.obj文件). 结果是我没有纹理 ...
- java结果写入html,java - 将长字符串写入HTML文件,InputStream vs FileWriter vs BufferedReader - 堆栈内存溢出...
我对执行此操作的最佳方法有些困惑. 我在SO上看到了很多示例,许多答案有不同的解决方案. 因此,我想知道将非常长的字符串写入新的html文件的最有效方法(即,从字符串中生成html文件). 并且真的可 ...
- 如何在虚拟主机上部署java项目_如何在购买的虚拟主机上部署java项目
如何在购买的虚拟主机上部署java项目?要选购的虚拟主机来部署Java新项目,第一步要确保虚拟主机能够支持Java的项目,随后采用ftp客户端软件将Java的项目上传至虚拟主机的主目录下,如此一来就能 ...
最新文章
- C#的winform矩阵简单运算
- java web中验证码的实现
- 微软备战 RPA 市场,Power Platform,Ready GO!
- 论文浅尝 - AAAI2020 | 利用自然语言推断生成人称一致的对话
- 你发这些什么目的_微信CRM系统究竟是什么?
- Nginx 架构详解
- java公平锁和非公平锁_java并发编程学习之再谈公平锁和非公平锁
- 应用安全-Web安全-SSRF攻防
- JS获取浏览器版本号
- 科林明伦杯哈尔滨理工大学第八届程序设计竞赛——Hrbust-2378 小H的问题(模拟)
- 关于Navicat连接mysql数据库报host XXXXXXX is not allowed to connect to this mysql server
- dirname: missing operand 问题解决
- 西门子PLC产生随机数
- 计算机论文写作提纲怎么写,计算机算法论文提纲 计算机算法论文大纲如何写...
- 习惯的力量:35岁以前养成好习惯
- java计算机毕业设计家庭安防系统源码+mysql数据库+系统+lw文档+部署
- Vue3 实现 RBAC 权限管理
- Python批量处理方法
- 苹果公布穿戴设备进行跌倒检测专利,Find My技术堪称王炸
- 强化学习VPG和PPO的区别
热门文章
- 如果运气不好,就试试勇气
- 论文阅读——利用Inceptioin V3在PET上进行AD预测
- 高德地图API学习二、获取定位数据
- P2p流媒体直播与视频会议有什么不同?
- 几款实用的Docker的GUI管理界面
- 网络学习 DNS服务:域名解析和域名迁徙
- checkbox选中和不选中 jqu_JQuery控制radio选中和不选中方法总结
- 计算机环境与应用专业就业前景,2018资源环境科学专业就业前景和就业方向分析...
- 全志R11 _Tina_V2.5 wifimanager API
- 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计