public static ResultData JPGPrint(PrintParamVO printParamVO) throws Exception {// 默认为A4纸张,对应像素宽和高分别为 595, 842double width = Integer.parseInt(printParamVO.getWidths()) * 2.8;double height = Integer.parseInt(printParamVO.getHeights()) * 2.8;Float x = Float.valueOf(printParamVO.getLefts());Float y = Float.valueOf(printParamVO.getTops());// 通俗理解就是书、文档Book book = new Book();// 设置成竖打PageFormat pf = new PageFormat();pf.setOrientation(PageFormat.PORTRAIT);// 通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。Paper p = new Paper();p.setSize(width,height);//纸张大小p.setImageableArea(x,y, width,height);//打印区域pf.setPaper(p);// 把 PageFormat 和 Printable 添加到书中,组成一个页面book.append((graphics, pageFormat, pageIndex) -> {//通过一个匿名内部内实现Printable接口,不懂的自行查看jdk8的新特性try {//远程图片url转成文件流URL url= new URL(printParamVO.getFileUrl());//也可以通过file构建一个本地图片File对象传递给ImageIO.read()方法BufferedImage image= (BufferedImage)ImageIO.read(url);//将图片绘制到graphics对象中(为什么把需要打印的内容drawImage就可以实现打印自己取看值传递一引用传递的区别)graphics.drawImage(image,Convert.toInt(x),Convert.toInt(y), Convert.toInt(width),Convert.toInt(height),null);} catch (Exception e) {e.printStackTrace();}return 0;}, pf);// 获取打印服务对象PrinterJob job = PrinterJob.getPrinterJob();//打印的数量job.setCopies(printParamVO.getPrintNum());// 设置打印类job.setPageable(book);// 定位打印服务PrintService printService = null;if (printParamVO.getPrintName() != null) {//获得本台电脑连接的所有打印机PrintService[] printServices = PrinterJob.lookupPrintServices();if (printServices == null || printServices.length == 0) {System.out.print("打印失败,未找到可用打印机,请检查。");throw new CommonException("500", "打印失败,未找到可用打印机,请检查。");}//匹配指定打印机for (int i = 0; i < printServices.length; i++) {System.out.println(printServices[i].getName());if (printServices[i].getName().equals(printParamVO.getPrintName())) {printService = printServices[i];break;}}if (printService == null) {throw new CommonException("500", "打印失败,未找到打印机,请检查。");}}job.setPrintService(printService);job.print();return ResultData.success();
}

java调用打印机 兼容各种驱动版相关推荐

  1. Java调用打印机读写文件

    最近跟着项目组在做项目,分到了打印机这个任务,顺便记录一下. 首先本地最好安装一下打印机的驱动,然后连上打印机开始测试! Java调用打印机打印图片,文本都是很简单的,如下代码: /*** 通过 IP ...

  2. java 调用打印机 api_java 调用打印机API无法打印,但是直接打印可以,请问有人遇到过这样的问题吗?...

    java调用打印机的代码如下:publicstaticvoidmain(String[]args){PrintRequestAttributeSetpras=newHashPrintRequestAt ...

  3. Java调用打印机打印(远程、本地皆可用)

    Java调用打印机打印(远程.本地皆可用) 背景 准备 MAVEN环境 步骤 获取PrinterJob 设置PrinterJob纸张样式 打印PDF 背景 开发个Java项目需要远程调用共享打印机打印 ...

  4. Java调用打印机打印PDF文档的两种方法

    最近,由于项目需求,需要增加系统调用打印机打印PDF文档功能.以前在Asp.Net项目中做过套打,但是现在的需求直接文档打印,下面是实现代码调用打印机的两种方法. 1.Java Print Servi ...

  5. JAVA 调用打印机输出PDF文件

    想利用java程序打印一些文件.做以下测试: 一.环境 要调用打印机输出文件,首先本地得有一个能正常使用的打印机.我电脑安装的是虚拟打印机. 二.java代码 一).打印输出的实体类 import j ...

  6. java 调用打印机打印

    要在 Java 中调用打印机打印,您可以使用 Java 的打印 API.下面是一个简单的示例,展示了如何使用 Java 打印 API 来打印文本: import java.awt.print.Prin ...

  7. Java调用打印机打印pdf

    要在Java中调用打印机打印PDF,可以使用Java打印API和第三方库,如Apache PDFBox或iText PDF. 以下是使用Java打印API打印PDF的基本步骤: 安装打印机:确保您已经 ...

  8. java调用打印机打印excel linux_手把手教你嵌入式Linux系统驱动hp1020打印机

    一.开发环境 硬件环境:am3354 打印机型号:hp1020plus 虚假机系统:Ubuntu12.04 交叉编译工具版本:arm-linux-gcc version 4.5.1 二.详细步骤 1. ...

  9. Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

    目录 一.Java的打印简介 二.Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行 ...

最新文章

  1. mysql2005备份_创建完整数据库备份 - SQL Server | Microsoft Docs
  2. Fiddler (三) Composer创建和发送HTTP Request
  3. memchace监控统计
  4. python openoffice_windows下安装UNO,配置AEROO_REPORT (Openoffice4已经升级为Python2.7.5版)...
  5. Python数据格式:%s字符串,%d整型,%f浮点型
  6. 初始化HashMap的默认值——阿里巴巴编码规范系列
  7. 蓝桥杯基础模块4_2:独立按键扩展应用
  8. Illustrator中文版教程,如何在 Illustrator 中使用自由变换工具?
  9. c语言 转义字符双写,谭浩强C语言程序设计习题集
  10. openGL实现太阳系行星系统
  11. leetcode解题方案--013--Roman to Integer
  12. 机器学习--SVM支持向量机
  13. SCC1事物代码 配置传输
  14. 微信支付 APP端 后端 第四-五弹 退款定时任务 账单下载
  15. Serverlet简介及理解
  16. highlight代码高亮
  17. 最小生成树(普里姆算法)
  18. October 12th 2017 Week 41st Thursday
  19. 刚子扯谈:源于Chanel的图片描述
  20. scala并发_探索Scala并发

热门文章

  1. 用c语言编辑日期,C语言中用于修改文件的存取时间的函数使用
  2. 爱因斯坦<我的世界观>
  3. IEEE 802.1 Qav 协议的详细总结(时间敏感流的转发和排队增强)
  4. 嵌入式Tomcat示例
  5. IDEA的安装和使用
  6. Eclipse导入和调试别人的Java web项目完整教程(超详细,包括报错解决)
  7. 【教程】快速了解什么是kafka
  8. [Mugeda HTML5技术教程之12]制作跨屏互动应用
  9. 程序与生活的一点反思(常看而反思)
  10. 社群运营不是客服!!!