`
tiansoft
  • 浏览: 176130 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java实现图片的打印

    博客分类:
  • java
 
阅读更多
打印图片,支持打印gif,jpg,png等格式图片的
package com.gyhq.soft;

import java.io.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
/**
* 打印图片的类
* @author tianmaochun
*
*/
public class PrintImage {
/**
* 画图片的方法
* @param fileName[图片的路径]
*/
public void drawImage(String fileName){
try {
DocFlavor dof = null;
//根据用户选择不同的图片格式获得不同的打印设备
if(fileName.endsWith(".gif")){
//gif
dof = DocFlavor.INPUT_STREAM.GIF;
}else if(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));
//获得打印设备 ,字节流方式,图片格式
PrintService pss[] = PrintServiceLookup.lookupPrintServices(dof,pras);
//如果没有获取打印机
if (pss.length == 0){
//终止程序
return;
}
//获取第一个打印机
PrintService ps = pss[0];
System.out.println("Printing image..........." + ps);
//获得打印工作
DocPrintJob job = ps.createPrintJob();

//设置打印内容
Doc doc = new SimpleDoc(fin,dof, null);
//出现设置对话框
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("img/11.png");
    }

}
分享到:
评论
2 楼 2047699523 2015-04-19  
1 楼 lionios 2012-12-16  
请问为什么一定要有PrintService service =ServiceUI .printDialog(null, 50, 50, pss, ps,dof, pras);的判断?如果注释掉打印出来就是一片空白,我看API明明说打印对话框现在是默认不显示了。

相关推荐

    java实现图片打印功能

    java实现图片的打印功能,本代码打印的是75*75的二维码,纸张大小定义为120*83,A4纸等请自行定义

    java 实现二维码批量打印

    在本文中,我们将深入探讨如何使用Java实现二维码批量打印,主要基于给定的标题"java 实现二维码批量打印"和描述中的技术环境。首先,我们要理解二维码(Quick Response Code)是一种二维条码,能存储大量数据,常...

    java实现自动静默打印功能(csdn)————程序.pdf

    Java 实现自动静默打印功能 在本篇文章中,我们主要讨论如何使用 Java 实现自动静默打印功能,实现无需弹出打印窗口即可直接打印的功能。下面将详细介绍实现思路、技术知识、技术细节和具体代码实现。 一、实现...

    java图片打印。在打印之前可以预览。

    Java图片打印技术是一种在Java应用程序中实现图像打印功能的方法,它允许用户在打印之前进行预览,确保打印效果满足需求。在Java中,这通常通过Java的`java.awt.print`包来实现,该包提供了丰富的类和接口用于处理...

    JAVA调用zpl条码打印机打印实现中文打印。

    本文将深入探讨如何使用Java编程语言来调用ZPL(Zebra Programming Language)条码打印机,实现中文打印以及网络打印的功能。 ZPL是Zebra公司为它的条码打印机设计的一种编程语言,用于创建和控制打印任务。ZPL主要...

    批量打印(java)

    本话题主要关注如何在Java环境下实现Web批量打印功能。通过提供的信息,我们可以推测这是一个利用某种技术将HTML内容转换为PDF,进而进行打印的过程。 首先,我们需要理解批量打印的基本概念。批量打印是指一次性...

    JAVA实现万能打印模块

    综上所述,实现“JAVA实现万能打印模块”是一个涉及Java PrintService API、Graphics2D绘图、用户界面设计以及模块化编程等多个技术领域的项目。通过细致的设计和实现,我们可以构建出一个强大而灵活的打印解决方案...

    使用Java实现定位打印

    本篇文章将深入探讨如何使用Java实现定位打印。 首先,我们需要理解Java中的基本输出机制。`System.out.println()` 是最常用的输出方法,但它的特点是每次打印后都会自动换行,无法满足定位打印的需求。为了进行...

    Java实现条形码打印

    目前比较通用的用Java实现条形码打印的集成插件主要有:barbecue和barcode4j. 但是用barbecue,条形码可以显示出来,可是下面对应数字却不能显示出来,当然可以自己手动加上去,不过那就不是一张图片里面的了,并且...

    Java实现斑马打印机ZPL指令打印,源码,可运行

    总的来说,Java实现斑马打印机的ZPL指令打印是一个实用的技术,它允许开发人员灵活地控制打印机的功能,实现各种复杂的打印需求。通过理解和使用这个项目,开发者可以快速集成斑马打印机功能到自己的应用中,提升...

    java实现sdk斑马打印机打印。

    在本文中,我们将深入探讨如何使用Java SDK与斑马(Zebra)打印机进行交互,以实现文字、图片、条形码和二维码的打印功能。斑马打印机因其在工业和商业领域的广泛应用而广受赞誉,其SDK提供了丰富的功能,使得开发者...

    java实现图片转pdf文件

    总的来说,Java结合iText库可以方便地实现图片到PDF的转换,这是一个实用且常见的功能,尤其适合那些需要整理大量图像资料的场景。通过理解和掌握这些知识,你可以灵活地处理各种PDF相关的编程需求。

    Java史上最全面的打印工具类,可以打印本、图片、二维码、订单、病历单等等,并且不会出现乱码问题,各种打印排版都可以实现!

    1、java开发必备工具类,兼容了所有版本的JDK,包含了各种类型的打印,可以打印文本、图片、二维码、订单、病历单等信息,应有尽有,功能强大,代码简洁,使用简单,直接拷贝使用即可; 2、本工具类经过了很多项目...

    纯java代码跨平台调用打印机打印word、pdf、图片等。

    4. **PDF和图片打印**:`PrintUtil.java`可能是实现打印逻辑的类,它包含了调用Java的`PrinterJob`和`PrintService`接口的方法。`PrinterJob.print()`方法用于实际的打印操作,它可以接收各种类型的图形对象(如...

    Lodop与java结合使用打印功能

    Lodop与Java的结合使用,为实现高效、灵活的打印解决方案提供了一种有效途径,特别是对于条码打印这种需求。以下是对这个主题的详细阐述: Lodop(乐度云打印服务)是一款专业的网页打印控件,它提供了丰富的API...

    java实现针式打印机套打功能

    总之,Java和SpringBoot为我们提供了强大的工具来实现针式打印机的套打功能,无论是简单的文档打印还是复杂的多联单据处理,都能通过编程灵活控制。关键在于理解打印服务模型,正确配置打印参数,并进行充分的测试以...

    Java打印小票自定义小票纸张大小,分辨率

    在Java编程环境中,进行小票打印时,我们经常会遇到需要自定义小票纸张大小和分辨率的需求。这通常涉及到对打印机API的...通过理解并实践这些步骤,你就能成功地实现Java环境下自定义小票纸张大小和分辨率的打印功能。

    使用java实现,通过zpl指令调用 zebra打印机打印标签,含二维码及中文

    在本文中,我们将深入探讨如何使用Java编程语言来实现ZPL指令,以便调用Zebra打印机进行标签打印,包括二维码和中文字符。ZPL(Zebra Programming Language)是Zebra公司开发的一种专用于控制其标签打印机的语言,它...

    Java实现图片和Base64之间的相互转化

    Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据(如图片)非常有用,因为HTTP本身只支持ASCII字符。 首先,我们来了解一下Java如何将图片转换成Base64编码。...

Global site tag (gtag.js) - Google Analytics