package com.tj.print;
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;
public class PrintDemo1 {
? ? public static void main(String[] args) {
? ? ? ? JFileChooser fileChooser = new JFileChooser(); //創(chuàng)建文件選擇框
? ? ? ? int state = fileChooser.showOpenDialog(null);//展示文件選擇框
? ? ? ? if (state == fileChooser.APPROVE_OPTION) {
? ? ? ? ? ? File file = fileChooser.getSelectedFile(); // 獲取選擇的文件
? ? ? ? ? ? // 構(gòu)建打印請求屬性集
? ? ? ? ? ? HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
? ? ? ? ? ? // 設(shè)置打印格式,因為未確定類型矾策,所以選擇autosense
? ? ? ? ? ? DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
? ? ? ? ? ? // 查找所有的可用的打印服務(wù)
? ? ? ? ? ? PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
? ? ? ? ? ? // 定位默認的打印服務(wù)
? ? ? ? ? ? PrintService defaultService = PrintServiceLookup
? ? ? ? ? ? ? ? ? ? .lookupDefaultPrintService();
? ? ? ? ? ? // 顯示打印對話框
? ? ? ? ? ? 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); // 構(gòu)造待打印的文件流
? ? ? ? ? ? ? ? ? ? DocAttributeSet das = new HashDocAttributeSet();//構(gòu)建待打印文檔的屬性集
? ? ? ? ? ? ? ? ? ? Doc doc = new SimpleDoc(fis, flavor, das);//創(chuàng)立可打印文檔
? ? ? ? ? ? ? ? ? ? job.print(doc, pras);//打油鹉恕(處理后的文件悠咱,打印機指令集)
? ? ? ? ? ? ? ? } catch (Exception e) {
? ? ? ? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
Java調(diào)用打印機曲梗?打印
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門纺讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囤屹,你說我怎么就攤上這事熬甚。” “怎么了肋坚?”我有些...
- 文/不壞的土叔 我叫張陵乡括,是天一觀的道長。 經(jīng)常有香客問我智厌,道長诲泌,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任铣鹏,我火速辦了婚禮敷扫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诚卸。我一直安慰自己葵第,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布合溺。 她就那樣靜靜地躺著卒密,像睡著了一般。 火紅的嫁衣襯著肌膚如雪棠赛。 梳的紋絲不亂的頭發(fā)上哮奇,一...
- 文/蒼蘭香墨 我猛地睜開眼膀值,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了误辑?” 一聲冷哼從身側(cè)響起沧踏,我...
- 正文 年R本政府宣布,位于F島的核電站掂为,受9級特大地震影響裕膀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勇哗,卻給世界環(huán)境...
- 文/蒙蒙 一昼扛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欲诺,春花似錦野揪、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至迹恐,卻和暖如春挣惰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背殴边。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 打印機 package hyi.pos;import javax.print.*;import javax.pri...
- 人有時候就是這樣,你很想去銘記蒙兰,不想要忘掉的瞬間有很多磷瘤,那些激勵你前進的瞬間,那些你想留住的瞬間搜变,那些你想要忘記的...