`

java实现调用打印机代码详解

阅读更多
    接口 PrintService 是 DocPrintJob 的工厂。PrintService 描述了打印机的功能,并可查询它来了解打印机支持的属性。

import java.io.File;
import java.io.FileInputStream;

import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.JFileChooser;

	/**
	 * 建立与打印机的连接
	 * @author Administrator
	 *
	 */
public class PrintDemo {
	
	public static void main(String[] args) {
		JFileChooser fileChooser = new JFileChooser(); //创建打印作业
		int state = fileChooser.showOpenDialog(null);
		if(state == fileChooser.APPROVE_OPTION){
			File file = new File("D:/zkyzl.txt"); //获取选择的文件
			//构建打印请求属性集
			HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
			//设置打印格式,因为未确定类型,所以选择autosense
			DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
			//查找所有的可用的打印服务
			PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
			//定位默认的打印服务
			PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
			//显示打印对话框
			PrintService service = ServiceUI.printDialog(null, 200, 200, printService, 
					defaultService, flavor, pras);
			if(service != null){
				try {
					DocPrintJob job = service.createPrintJob(); //创建打印作业
					FileInputStream fis = new FileInputStream(file); //构造待打印的文件流
					DocAttributeSet das = new HashDocAttributeSet();
					Doc doc = new SimpleDoc(fis, flavor, das);
					job.print(doc, pras);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}


附官方详解:http://doc.java.sun.com/DocWeb/api/javax.print.PrintService
  • 大小: 16.4 KB
  • 大小: 12.9 KB
  • 大小: 8.7 KB
  • 大小: 19.5 KB
分享到:
评论

相关推荐

    JAVA网络调用打印机工具类

    本工具类实现了这一需求,通过Java调用网络打印机来完成打印任务,并且支持自定义打印内容,如快递单号、发票等。本文将详细介绍该工具类的关键实现逻辑。 #### 二、核心功能 - **自动化打印**:根据用户订单信息...

    java调用打印机打印的相关教程

    ### Java调用打印机打印的相关教程 #### 一、Java打印API简介 Java打印API主要包含在`java.awt.print`包中。随着Java的发展,特别是从JDK 1.4开始,Java提供了更为丰富的打印支持,这主要体现在`javax.print`及其...

    Java如何调用TSC打印机进行打印详解

    在后台打印中,通常采用的两种方法分别是使用PrintServiceLookup类和使用本地库调用打印机。 首先,使用PrintServiceLookup类进行后台打印是一种常见的方法。PrintServiceLookup类是Java打印服务API的一部分,它...

    Java 实现 POS 打印机无驱串口打印(解决中文乱码)

    ### Java 实现 POS 打印机无驱串口打印(解决中文乱码) #### 背景介绍 在日常工作中,POS 打印机是非常常见的设备之一,它被广泛应用于零售业、餐饮业等场景中进行小票打印。通常情况下,POS 打印机与计算机之间...

    java+vue2实现zebra打印机,js实现

    ### Java + Vue2 实现 Zebra 打印机:JS 实现详解 #### 一、背景与需求 本文旨在探讨如何使用 Java 后端结合 Vue2 前端技术栈来实现 Zebra 打印机的功能。具体而言,将重点介绍如何通过 JavaScript 来驱动前端页面...

    (完整版)java打印机.doc

    Java打印机详解 本资源是一个关于Java打印机的完整实现,包括文本打印机的功能和预览功能。下面将对该资源进行详细的解释和知识点总结。 一、Java打印机的基本概念 Java打印机是指使用Java语言实现的打印机功能,...

    java 打印机 打印服务API

    ### Java 打印服务API详解 #### 一、引言 自Java问世以来,它在许多领域取得了显著的进步和发展,但在打印输出方面一直被认为是相对较弱的一环。最初,Java 1.0版本甚至没有提供任何打印功能的支持。直到Java 1.1...

    java打印机打印

    然而,这里介绍的方法使用了一个不同的库——JACOB,这是一个Java调用COM组件的桥接库,允许Java应用程序与Windows平台下的COM对象交互,从而实现对Excel的控制。 **步骤1:引入JACOB库** - 首先,需要下载并引入`...

    安卓打印相关-手机连接车载打印机代码.rar

    3. **PrintDemo** - 这很可能是包含实际代码的项目文件夹,其中可能有Java或Kotlin源文件,用于演示如何在Android应用中实现打印功能,尤其是与车载打印机的交互。 **知识点详解:** 1. **Android打印框架** - ...

    Java文本打印机效果

    ### Java文本打印机效果 #### 知识点概览 1. **Java Applet与图形界面** 2. **线程管理** 3. **文本动画实现** 4. **异常处理** #### 知识点详解 ##### 1. Java Applet与图形界面 **Java Applet**是一种在...

    Java调用DLL.rar

    Java调用DLL技术详解 在Java编程环境中,我们通常依赖于平台无关性的优势,但有时我们需要与特定操作系统功能交互,这时就需要调用动态链接库(DLL)文件,这是Windows操作系统中的本地代码。本文将深入探讨如何在...

    Java编程打印购物小票实现代码

    Java编程打印购物小票实现代码详解 Java编程打印购物小票实现代码是指使用Java语言编写的程序,用于实现打印购物小票的功能。该代码主要用于商城购物小票的打印,使用热敏打印机打印小票,并提供了预览图。 知识点...

    Java调用外接设备详解(制卡机)

    总之,Java调用外接设备,如制卡机,涉及到理解设备工作流程、设计图像、编写与设备通信的代码,以及处理可能出现的异常情况。这需要对Java图形处理、设备通信协议以及特定硬件的API有深入的理解。通过不断的试验和...

    Java实现无驱动POS机打印

    这段代码展示了如何通过Java实现无驱动POS机打印的基本流程,包括创建Socket连接、建立输入输出流以及发送打印指令等关键步骤。通过这种方式,可以极大地简化POS系统的部署过程,降低维护成本,提高业务处理效率。

    Java实现Web报表打印功能.

    ### Java实现Web报表打印功能:基于iText组件的实践 #### 概述 在Web应用领域,打印功能一直是开发者面临的挑战之一。由于Web应用本质上属于瘦客户端架构,直接操作客户端设备(如打印机)存在限制。这促使业界...

    java打印API详解

    在博文《java打印API详解》中,作者可能详细介绍了如何使用这些类和接口来实现打印功能,包括如何创建`PrinterJob`实例,选择合适的`PrintService`,如何将数据转换为可打印格式,以及如何设置打印属性和处理打印...

    TTP-244Pro_java.rar

    在Java中,我们可以利用Java Native Interface (JNI) 或者JNA(Java Native Access)框架来调用这些DLL中的函数,实现Java程序对打印机的控制。 具体到编程步骤,以下是一般流程: 1. 安装TSC提供的驱动程序和必要...

    记事本打印和页面设置功能Java实现

    ### Java 实现记事本打印和页面设置功能详解 #### 一、背景介绍 在Java开发中,有时候我们需要实现文档的打印功能,特别是在文本编辑器或记事本类的应用程序中,用户通常希望能够将编辑好的内容打印出来。本文将...

    Java实现局域网内两点文件传输

    ### Java实现局域网内两点文件传输 #### 实现原理及步骤...以上就是关于如何使用Java实现局域网内两点文件传输的详细步骤和代码实现。这种方法不仅可以高效地完成文件传输任务,还可以进一步扩展实现更复杂的功能。

    java 打印pdf文件 也可批量打印

    ##### 3.1 Java代码实现 ```java public static boolean printPdf(String pdfPath) { try { // 使用Runtime类执行系统命令 Runtime.getRuntime().exec("cmd.exe /C start acrord32 /P /h " + pdfPath); return ...

Global site tag (gtag.js) - Google Analytics