package vis.cf.ss.pub.util; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.io.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; /** * 打印图片的类 * * @author tianmaochun * */ public class PrintImage { /** * 画图片的方法 * * @param fileName[图片的路径] */ public static void drawImage(String fileName) { try { DocFlavor dof = null; // 根据用户选择不同的图片格式获得不同的打印设备 if (fileName.endsWith(".gif")) { // gif dof = DocFlavor.INPUT_STREAM.GIF; } else if (fileName.endsWith(".jpg") || fileName.endsWith(".JPG")) { // jpg dof = DocFlavor.INPUT_STREAM.JPEG; } else if (fileName.endsWith(".png")) { // png dof = DocFlavor.INPUT_STREAM.PNG; } // 字节流获取图片信息 FileInputStream fin = new FileInputStream(fileName); // 获得打印属性 PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); // 每一次默认打印一页 pras.add(new Copies(1)); pras.add(MediaSizeName.ISO_A4); // 默认A4打印 // 获得打印设备 ,字节流方式,图片格式 PrintService pss[] = PrintServiceLookup.lookupPrintServices(dof, pras); // 如果没有获取打印机 if (pss.length == 0) { System.out.println("未获取打印机!"); // 终止程序 return; } // 获取第一个打印机 PrintService ps = pss[0]; System.out.println("Printing image..........." + ps); // 获得打印工作 DocPrintJob job = ps.createPrintJob(); // 设置打印内容 Doc doc = new SimpleDoc(fin, dof, null); // 出现设置对话框 pras.add(new MediaPrintableArea(0,0,210,297,MediaPrintableArea.MM)); // 设置打印区域大小:此设置只能放在此处不能往前放 PrintService service = ServiceUI.printDialog(null, 50, 50, pss, ps, dof, pras); if (service != null) { // 开始打印 job.print(doc, pras); fin.close(); } } catch (IOException ie) { // 捕获io异常 ie.printStackTrace(); } catch (PrintException pe) { // 捕获打印异常 pe.printStackTrace(); } } /** * 主函数 * * @param args * */ public static void main(String args[]) { PrintImage dp = new PrintImage(); dp.drawImage("D:/IMG00001.jpg"); } }
相关推荐
java实现图片的打印功能,本代码打印的是75*75的二维码,纸张大小定义为120*83,A4纸等请自行定义
Java图片打印技术是一种在Java应用程序中实现图像打印功能的方法,它允许用户在打印之前进行预览,确保打印效果满足需求。在Java中,这通常通过Java的`java.awt.print`包来实现,该包提供了丰富的类和接口用于处理...
在本文中,我们将深入探讨如何使用Java SDK与斑马(Zebra)打印机进行交互,以实现文字、图片、条形码和二维码的打印功能。斑马打印机因其在工业和商业领域的广泛应用而广受赞誉,其SDK提供了丰富的功能,使得开发者...
在这个项目"java绘制复杂图形并输出图片"中,可能包含了一个名为`capMainboard`的子文件或类,这可能是一个主程序或关键组件,用于组织和执行图形绘制以及图片输出的逻辑。通过分析和运行这个`capMainboard`,我们...
首先,我们需要了解Java中的打印服务模型。Java标准库中的`javax.print`包提供了一组接口和类,用于与打印机进行通信。其中`PrintService`接口代表打印机服务,`DocFlavor`定义了打印数据的格式,`...
1、java开发必备工具类,兼容了所有版本的JDK,包含了各种类型的打印,可以打印文本、图片、二维码、订单、病历单等信息,应有尽有,功能强大,代码简洁,使用简单,直接拷贝使用即可; 2、本工具类经过了很多项目...
打印图片程序,里面有详细的语句注释;在pic.printjpg("filename.gif", "1");输入文件名"filename.gif" 和打印份数"1";
在Java编程环境中,进行小票打印时,我们经常会遇到需要自定义小票纸张大小和分辨率的需求。这通常涉及到对打印机API的深入理解和利用。以下将详细解释如何实现这一目标。 首先,Java提供了`java.awt.print`包,该...
NULL 博文链接:https://andrii.iteye.com/blog/794276
本话题主要关注如何在Java环境下实现Web批量打印功能。通过提供的信息,我们可以推测这是一个利用某种技术将HTML内容转换为PDF,进而进行打印的过程。 首先,我们需要理解批量打印的基本概念。批量打印是指一次性...
6. **打印图片**: 使用`java.awt.Graphics2D`类,将二维码图片绘制到`PrinterJob`的页面上,然后提交打印任务。如果需要一次性打印多个二维码,可以创建多页或者调整布局来适应多个二维码。 **部署与测试** 完成...
7. **Java打印服务API**:Java的标准`java.awt.print`包提供了一组接口和类,如`PrinterJob`、`PageFormat`和`PrintService`,用于处理打印任务。开发者可以通过这些API设置打印参数,如纸张大小、方向和质量,并...
Java打印技术和JavaScript(简称js)打印技术是网页和应用程序中实现文档输出的重要手段。这两种技术在不同的场景下各有优势,可以满足用户从浏览器或服务器端进行打印的需求。 首先,我们来了解一下Java打印技术。...
本文将深入探讨如何使用Java编程语言来调用ZPL(Zebra Programming Language)条码打印机,实现中文打印以及网络打印的功能。 ZPL是Zebra公司为它的条码打印机设计的一种编程语言,用于创建和控制打印任务。ZPL主要...
总之,Java打印Word文档涉及到的主要知识点有:选择合适的处理库(如Apache POI),正确配置Classpath,理解和使用库提供的API来读取和操作Word文档内容,以及可能的文档格式转换。在实践中,还需要考虑性能优化、...
在Java编程环境中,将图片转换为PDF文件是一个常见的需求,特别是在文档管理和电子出版领域。这里,我们将探讨如何使用Java和特定库,如iText,来完成这个任务。iText是一个强大的开源库,专门用于创建和修改PDF文档...
在Java编程语言中,`PrinterJob`类是用于处理打印任务的核心组件,它属于`java.print`包。本文将深入探讨如何使用`PrinterJob`来实现简单的打印功能,包括获取打印服务对象、实现`Printable`接口以及通过不同的方式...
Java作为一种跨平台的编程语言,也能够与这些打印机进行交互,实现远程或者网络打印功能。以下是对"java esc/pos 打印"这一主题的详细解释。 1. **ESC/POS 概述** ESC/POS 是一系列基于ASCII的控制命令,通过发送...
Java打印全集主要涵盖Java平台中的打印功能,包括如何使用Java API进行打印操作、预览打印效果以及打印文件等内容。在Java中,打印服务主要由Java标准库中的`java.print`包提供支持,该包提供了丰富的接口和类,使得...