`
zyp307
  • 浏览: 15266 次
  • 性别: Icon_minigender_1
  • 来自: 乌鲁木齐
社区版块
存档分类
最新评论

JAVA打印图片

    博客分类:
  • JAVA
阅读更多
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实现图片打印功能

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

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

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

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

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

    java绘制复杂图形并输出图片

    在这个项目"java绘制复杂图形并输出图片"中,可能包含了一个名为`capMainboard`的子文件或类,这可能是一个主程序或关键组件,用于组织和执行图形绘制以及图片输出的逻辑。通过分析和运行这个`capMainboard`,我们...

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

    首先,我们需要了解Java中的打印服务模型。Java标准库中的`javax.print`包提供了一组接口和类,用于与打印机进行通信。其中`PrintService`接口代表打印机服务,`DocFlavor`定义了打印数据的格式,`...

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

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

    用java编写打印机打印图片程序

    打印图片程序,里面有详细的语句注释;在pic.printjpg("filename.gif", "1");输入文件名"filename.gif" 和打印份数"1";

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

    在Java编程环境中,进行小票打印时,我们经常会遇到需要自定义小票纸张大小和分辨率的需求。这通常涉及到对打印机API的深入理解和利用。以下将详细解释如何实现这一目标。 首先,Java提供了`java.awt.print`包,该...

    Java 调用标签打印机打印图片

    NULL 博文链接:https://andrii.iteye.com/blog/794276

    批量打印(java)

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

    java 实现二维码批量打印

    6. **打印图片**: 使用`java.awt.Graphics2D`类,将二维码图片绘制到`PrinterJob`的页面上,然后提交打印任务。如果需要一次性打印多个二维码,可以创建多页或者调整布局来适应多个二维码。 **部署与测试** 完成...

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

    7. **Java打印服务API**:Java的标准`java.awt.print`包提供了一组接口和类,如`PrinterJob`、`PageFormat`和`PrintService`,用于处理打印任务。开发者可以通过这些API设置打印参数,如纸张大小、方向和质量,并...

    java打印技术

    Java打印技术和JavaScript(简称js)打印技术是网页和应用程序中实现文档输出的重要手段。这两种技术在不同的场景下各有优势,可以满足用户从浏览器或服务器端进行打印的需求。 首先,我们来了解一下Java打印技术。...

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

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

    java打印word的分享

    总之,Java打印Word文档涉及到的主要知识点有:选择合适的处理库(如Apache POI),正确配置Classpath,理解和使用库提供的API来读取和操作Word文档内容,以及可能的文档格式转换。在实践中,还需要考虑性能优化、...

    java实现图片转pdf文件

    在Java编程环境中,将图片转换为PDF文件是一个常见的需求,特别是在文档管理和电子出版领域。这里,我们将探讨如何使用Java和特定库,如iText,来完成这个任务。iText是一个强大的开源库,专门用于创建和修改PDF文档...

    简单打印实例-java关于PrinterJob的用法

    在Java编程语言中,`PrinterJob`类是用于处理打印任务的核心组件,它属于`java.print`包。本文将深入探讨如何使用`PrinterJob`来实现简单的打印功能,包括获取打印服务对象、实现`Printable`接口以及通过不同的方式...

    java esc/pos 打印

    Java作为一种跨平台的编程语言,也能够与这些打印机进行交互,实现远程或者网络打印功能。以下是对"java esc/pos 打印"这一主题的详细解释。 1. **ESC/POS 概述** ESC/POS 是一系列基于ASCII的控制命令,通过发送...

    java打印全集

    Java打印全集主要涵盖Java平台中的打印功能,包括如何使用Java API进行打印操作、预览打印效果以及打印文件等内容。在Java中,打印服务主要由Java标准库中的`java.print`包提供支持,该包提供了丰富的接口和类,使得...

Global site tag (gtag.js) - Google Analytics