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();
}
}
}
}
}
//接口 PrintService 是 DocPrintJob 的工厂。PrintService 描述了打印机的功能,并可查询它来了解打印机支持的属性。
相关技术帖子:http://blog.sina.com.cn/gzwncb
分享到:
相关推荐
ASP中实现打印功能的知识点总结 在ASP中实现打印功能是Web开发中的一项重要任务,通过使用JavaScript和HTML,开发者可以实现网页中特定部分的打印功能。本文总结了实现打印功能的知识点,涵盖了相关的技术和代码...
在C#编程环境中,实现打印功能是常见的需求,特别是在开发桌面应用或报表系统时。本文将深入探讨如何在C#中实现打印功能,包括基本概念、API使用以及实际代码示例。 1. 基本概念 在Windows环境中,打印功能主要依赖...
根据提供的文件信息,我们可以总结出以下关于如何在C#中实现打印功能的相关知识点: ### 一、打印功能的实现步骤 1. **初始化打印文档**:首先需要创建一个`PrintDocument`对象,这个对象用于存储将要打印的信息。...
总的来说,Android设备连接蓝牙打印机并实现打印功能涉及了Android蓝牙API的使用、打印机协议的理解以及数据处理和错误处理等技术。开发者需要具备一定的蓝牙通信和硬件交互知识,才能有效地完成这项工作。
C#实现打印功能主要依赖于.NET Framework提供的System.Drawing.Printing命名空间中的类,尤其是PrintDialog和PrintDocument两个关键组件。本文将深入解析如何在C#应用程序中实现打印功能。 首先,PrintDialog控件...
本篇文章将深入探讨如何在火狐浏览器上利用PHP和Lodop控件实现打印功能。 首先,Lodop是一款强大的网页打印控件,支持多页面、多格式文档的打印,包括HTML、PDF、图片等。它提供了丰富的API接口,使得开发者能够...
使用VC++开发程序实现打印功能,很好的参考资料,在网上找的一些资料合集,试过额,管用!
在JavaWeb开发中,实现打印功能是常见的需求之一,尤其在企业级应用中,例如发票打印、报告打印等。这个场景通常涉及到jsp界面与后台服务器的交互,以及前端JavaScript库的使用。以下将详细介绍如何在JavaWeb环境中...
根据给定的信息,本文将详细解析C#中实现打印功能的具体方法及其实现步骤。文章主要涉及以下几个核心知识点:初始化打印文档、加载文件内容、设置字体样式、处理页面打印事件以及用户界面操作。 ### 一、初始化打印...
`PrintDocument` 类是实现打印功能的关键所在,它属于 `System.Drawing.Printing` 命名空间。通过这个类可以管理当前的打印设置、页面设置以及所有与打印相关的事件和方法。 ##### 2.1 属性介绍 - **`...
在C++ Builder中实现打印功能是一项常见的任务,它允许用户将程序中的数据或者图形输出到纸质媒介上。这里我们将深入探讨如何使用C++ Builder的VCL(Visual Component Library)库中的控件来实现这一功能。 首先,...
在这个特定的场景下,"JSP实现打印功能"指的是如何利用JSP来控制用户浏览器进行文档打印,特别是指定网页中的"BODY"部分内容。下面我们将详细探讨如何实现这一功能。 首先,我们需要理解浏览器的打印机制。通常,...
下面将详细介绍如何在C#中利用`DataGridView`实现打印功能。 首先,我们要理解打印的基本概念。在Windows应用中,打印通常涉及到`PrintDocument`类,它是`System.Drawing.Printing`命名空间的一部分。`...
在Android平台上实现手机连接蓝牙打印机并进行打印功能是一项常见的需求,尤其在移动办公、零售等领域。这个场景中,我们主要涉及的技术点包括Android系统的蓝牙API、数据传输以及打印协议的理解。 首先,Android...
接下来是实现打印功能。在Windows Forms中,打印通常通过PrintDocument类来完成。首先,定义一个事件处理程序来生成打印内容,然后在PrintDocument的PrintPage事件中,使用Graphics对象绘制DataGridView的内容。以下...
通过串口传输数据实现打印功能。实例只是简单的实现打印功能,如果想要具体实现的自己的打印项目,还需要自己进行修改。其实这个打印小程序网上是很少的(基本上没有),因为现在在wince系统开发应用程序都避开打印...
"使用MFC实现打印功能" 在MFC中,实现打印功能需要使用CView类的对象,它是某一个框架窗口的子窗口。在对话框程序中,我们只需要打印,而不需要显示这个框架窗口和视图。我们可以通过建立一个虚拟的文档视图结构来...
在Java编程语言中,实现打印功能主要依赖于`java.awt.print`包中的API。这个包提供了各种类和接口,使得开发者能够控制打印任务,包括创建打印作业、设置页面格式、定义打印内容等。以下是一些关键知识点: 1. **...
在C#编程语言中,实现打印功能是一项常见的需求,它涉及到Windows应用程序与系统硬件设备——打印机的交互。本文将深入探讨如何使用C#来编写源代码以实现这一功能,主要涉及的技术点包括: 1. **System.Drawing命名...
"控件实现打印功能"这个主题涉及到如何使用编程控件来实现一个完整的打印解决方案,包括获取打印机信息、预览打印内容以及设置打印参数。下面将详细介绍这些知识点。 首先,**获取打印机信息**是实现打印功能的第一...