- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- JAVA如何實(shí)現連接本地打印機并打印文件
小編給大家分享一下JAVA如何實(shí)現連接本地打印機并打印文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
實(shí)現代碼一
import javax.print.*;import javax.print.attribute.DocAttributeSet;import javax.print.attribute.HashDocAttributeSet;import javax.print.attribute.HashPrintRequestAttributeSet;import javax.print.attribute.PrintRequestAttributeSet;import java.io.File;import java.io.FileInputStream;public class PrintDemo1 { public void printPdf(String fileName) { //構造一個(gè)文件選擇器,默認為當前目錄 File file = new File(fileName);//獲取選擇的文件 //構建打印請求屬性集 PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); //設置打印格式,因為未確定文件類(lèi)型,這里選擇AUTOSENSE DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; //查找所有的可用打印服務(wù) PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras); //定位默認的打印服務(wù) //PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); // 顯示打印對話(huà)框 PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras); if (service != null) { try { DocPrintJob job = service.createPrintJob(); // 創(chuàng )建打印作業(yè) FileInputStream fis; // 構造待打印的文件流 fis = new FileInputStream(file); DocAttributeSet das = new HashDocAttributeSet(); Doc doc = new SimpleDoc(fis, flavor, das); job.print(doc, pras); } catch (Exception e) { e.printStackTrace(); } } } public static void main(String args[]) { PrintDemo1 pic = new PrintDemo1(); pic.printPdf("F:\\java資源2\\Docker視頻教程\\贈送3-從Docker到Kubernetes之技術(shù)實(shí)戰\1.為什么你需要學(xué)習Docker\1.pdf"); }}
代碼二
package com.iba.cxx.adm.controller;import javax.print.*;import javax.print.attribute.DocAttributeSet;import javax.print.attribute.HashDocAttributeSet;import javax.print.attribute.HashPrintRequestAttributeSet;import javax.swing.*;import java.io.File;import java.io.FileInputStream;/** * Created by Administrator on 2017/9/8 0008. */public class TestController { public static void main(String[] args) { JFileChooser fileChooser = new JFileChooser(); //創(chuàng )建打印作業(yè) int state = fileChooser.showOpenDialog(null); if(state == fileChooser.APPROVE_OPTION){ // File file = new File("D:/haha.txt"); //獲取選擇的文件 File file = fileChooser.getSelectedFile();//獲取選擇的文件 //構建打印請求屬性集 HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); //設置打印格式,因為未確定類(lèi)型,所以選擇autosense DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; //查找所有的可用的打印服務(wù) PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras); //定位默認的打印服務(wù) PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); //顯示打印對話(huà)框 PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras); if(service != null){ try { DocPrintJob job = service.createPrintJob(); //創(chuàng )建打印作業(yè) 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(); } } } }}
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站