java windows 打印机_使用Java中的客户端计算机打印机(不是部署应用程序的服务器)进行打印...
我使用Spring开发了一个使用Java 8的应用程序 . 用户故事是客户端应该选择要打印的许多文档(PDF),然后按一个按钮并将它们全部打印到默认的客户端机器打印机(浏览器中的Ctrl P功能在尝试打印时遇到问题't accomplish this requirement). But, I' m CLIENT MACHINE 打印机使用Java Service Printer API . 根据文档,JPS API也应该在客户端运行(据我所知),但我不能使这个工作:
我已经看到了其他一些选项,比如使用Applet,但这个选项在浏览器的浏览版本中被阻止(至少在Chrome中) .
如果还有其他替代方案,请告诉我如何实施它们:
这是我正在使用的代码:
@GetMapping(value = Constantes.IMPRIMIR_FACTURA)
@CrossOrigin(origins = "*")
public void imprimirFacturas(@PathVariable("fechaFacturacion") String fechaFacturacion,
@RequestParam("polizas") String polizas,
@RequestParam("ordenarPor") String ordenarPor,
@RequestParam("directorId") String directorId,
@RequestParam("gerenteId") String gerenteId,
@RequestParam("intermediarioId") String intermediarioId,
@RequestParam("frecuenciaDePagoId") String frecuenciaDePagoId,
@RequestParam(value = "imprimePortada", defaultValue = "false") String imprimePortada,
@RequestParam(value = "imprimeDetalle", defaultValue = "false") String imprimeDetalle,
@RequestParam(value = "imprimeMovimientos", defaultValue = "false") String imprimeMovimientos,
HttpServletResponse response) throws IOException {
String[] split = polizas.split(",");
String ordenByDelReporte = determinarOrden(ordenarPor);
try {
List polizasString = Arrays.asList(split);
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
boolean efectuarImpresion = false;
if (Objects.isNull(printService))
throw new PrinterAbortException("No existe impresora por defecto.");
for (String numeroPoliza : polizasString) {
FacturaDto facturaDto = new FacturaDto()
.imprimePortada(imprimePortada).imprimeDetalle(imprimeDetalle).imprimeMovimientos(imprimeMovimientos)
.ordenarPor(ordenByDelReporte).conFechaFacturacion(fechaFacturacion)
.numeroPoliza(numeroPoliza);
facturaDto.setDirectorId(directorId);
facturaDto.setGerenteId(gerenteId);
facturaDto.setIntermediarioId(intermediarioId);
facturaDto.setFrecuenciaDePagoId(frecuenciaDePagoId);
byte[] objPDF = generarPorPdf(facturaDto);
if (objPDF.length == Constantes.CERO)
continue;
efectuarImpresion = true;
Doc pdf = new SimpleDoc(objPDF, DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
printService.createPrintJob().print(pdf, new HashPrintRequestAttributeSet());
}
if (!efectuarImpresion)
response.setStatus(333);
} catch (Exception e) {
LOGGER.error(Constantes.ERROR, e);
response.sendError(500, e.getMessage());
}
}
只有在服务器上安装并选择打印机作为默认打印机时,此方法才有效 .
java windows 打印机_使用Java中的客户端计算机打印机(不是部署应用程序的服务器)进行打印...相关推荐
- java windows域_域环境中的windows软件安装
这几天要在单位部署一个软件包,是msi形式的,据说可以通过"域推送"的形式安装,搜索了一下,发现需要在 组策略->软件设置->软件安装 里面添加放在共享目录里的软件包. ...
- java jar 目录_将Java类路径中的所有jar包括在一个目录中
有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...
- java coin介绍_代码示例中的Java 7:Project Coin
java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...
- ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home
我有错误 Exception in thread"main" java.lang.NoClassDefFoundError: 当我尝试在Ubuntu上运行编译类时.我使用的是一个非 ...
- java skip函数_【Java必修课】图说Stream中的skip()和limit()方法及组合使用
1 简介 本文将讲解Java 8 Stream中的两个方法:skip()和limit().这两个方法是Stream很常用的,不仅各自会被高频使用,还可以组合出现,并能实现一些小功能,如subList和 ...
- java关闭端口_使用java代码关闭指定端口的程序-windows
转载请请在页首注明作者与出处 一:问题由史 今天遇到一个问题,就是在实现自动化灾备的时候,发现原有死掉的程序没有完全关闭,当然这都不是本文的重点,重点是这个时候,我得把它完全关闭,所以才有了这篇文章. ...
- java 虚拟打印机_纯java虚拟打印机
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.print.PageFor ...
- java final 类_在Java中,final修饰的类有什么特点
展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...
- java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创
由于项目中用到了Applet与Servlet之间(客户端用Applet.Server端用Servlet)的通信,要求: 1:>客户端与服务端必须出Log. 2:>浏览器在加载Applet时 ...
最新文章
- 外部开发:部件属性 外部exe启动UG NX
- jQuery事件2——off取消事件绑定
- zigbee传输速率_wifi智能开关和zigbee智能开关有哪些区别
- bmp调色板颜色信息重复_如何更改 Linux 终端颜色主题 | Linux 中国
- Canvas入门06-线段与像素边界
- 我见过的最漂亮代码---通过删除代码来实现功能的提升
- Hadoop--xsync分发脚本
- BoundsChecker下载
- 后缀–ize_后缀-ize,-ise含义、来源和词例
- 计算机无法进入操作系统怎么办,老司机教你电脑开机无法进入系统怎么办
- thinkphp使用easywechat接入微信公众号
- Chinese Whisper 人脸聚类算法实现
- android app银联支付,android app 快速接入银联支付流程(android studio版)
- SRP简介(SRP--Single-Responsibility Principle):
- c8051f020 I/O配置小结
- 思科三层交换机配置DHCP中继
- 6、英飞凌-AURIX-TC3XX: PWM实验之使用 GTM -ATOM 实现
- 本地搭建靶站进行漏洞复现和防御(SQL注入、文件上传、XSS漏洞的多种形式)
- 肇庆高考成绩查询2021,2021肇庆市地区高考成绩排名查询,肇庆市高考各高中成绩喜报榜单...
- 【安信可A9G专题③】安信可A9G模块连接机智云APP教程;
热门文章
- 我的大学之模拟电子技术 No.5
- 重装系统计算机无法启动,重装系统电脑无法开机怎么办?重装系统后电脑无法开机常见故障...
- 用ASP.NET建立一个在线RSS新闻聚合器
- 01 - 嵌入式的学习路线、职业规划:嵌入式基本知识与开发流程
- 生产环境SLB-F5会话保持失效问题排查及总结
- c语言编程文件的加密解密,C语言实现任何文件的加密解密功能
- JAVA简易控制台选择题答题,改自书上代码
- JavaScript基础第02天—运算符(操作符)—流程控制—循环—代码规范
- 3D游戏编程与设计——粒子系统
- 余弦公式在c语言里面怎么用_C语言中求余弦值的相关函数总结