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代码打印出高清图片。非常方便。有效。希望对大家有所帮助
1、java开发必备工具类,兼容了所有版本的JDK,包含了各种类型的打印,可以打印文本、图片、二维码、订单、病历单等信息,应有尽有,功能强大,代码简洁,使用简单,直接拷贝使用即可; 2、本工具类经过了很多项目...
java实现针式打印机套打功能-支持连续打印 可切换前入纸与后入纸
使用Java Graphics2D及相关类绘制复杂图形并输出图片文件到指定位置!
JAVA调用zpl条码打印机打印中文打印及网络打印实例
自定义小票打印,通过打印机名称打印,设置纸张大小,分辨率问题
打印图片程序,里面有详细的语句注释;在pic.printjpg("filename.gif", "1");输入文件名"filename.gif" 和打印份数"1";
iReport+模板+Java动态打印包括热敏单,动态编辑热敏单或者打印模板可以镶嵌图片
纯java代码实现跨平台打印word、pdf、图片等信息,无需系统嵌入第三方dll文件等,方便,可移植性好。
java打印 文本和图片 能实现预览功能
目前比较通用的用Java实现条形码打印的集成插件主要有:barbecue和barcode4j. 但是用barbecue,条形码可以显示出来,可是下面对应数字却不能显示出来,当然可以自己手动加上去,不过那就不是一张图片里面的了,并且...
java:多个图片导出到word文档里显示,用于打印图片导出
code下载部署说明 以上是周末自己编写的小案例,供大家参考。 环境:myeclipse8.5 + tomcat6 + jdk7 + core-3.3.0.jar(google zxing)
NULL 博文链接:https://andrii.iteye.com/blog/794276
java定位打印,把打印内容打到指定的地方。
直接通过ESC指令操作打印机打印图片
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
证书套打工具类:包括套打文字的字体颜色大小格式样式位置内容,打印页大小起始结束位置数量背景图横竖打印等。
Java调用Zebra条码打印机打印条码、中英文数字条码混合标签,可自由控制格式和排版。