欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA實(shí)現(xiàn)連接本地打印機(jī)并打印文件的實(shí)現(xiàn)代碼

 更新時(shí)間:2019年10月20日 22:22:28   作者:piaoyunlive  
這篇文章主要介紹了JAVA實(shí)現(xiàn)連接本地打印機(jī)并打印文件的實(shí)現(xiàn)代碼,需要的朋友可以參考下

實(shí)現(xiàn)代碼一

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òu)造一個(gè)文件選擇器,默認(rèn)為當(dāng)前目錄
    File file = new File(fileName);//獲取選擇的文件
    //構(gòu)建打印請(qǐng)求屬性集
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
    //設(shè)置打印格式,因?yàn)槲创_定文件類(lèi)型,這里選擇AUTOSENSE
    DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
    //查找所有的可用打印服務(wù)
    PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
    //定位默認(rèn)的打印服務(wù)
    //PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
    // 顯示打印對(duì)話(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; // 構(gòu)造待打印的文件流
        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視頻教程\\贈(zèng)送3-從Docker到Kubernetes之技術(shù)實(shí)戰(zhàn)\\01.為什么你需要學(xué)習(xí)Docker\\01.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();//獲取選擇的文件
      //構(gòu)建打印請(qǐng)求屬性集
      HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
      //設(shè)置打印格式,因?yàn)槲创_定類(lèi)型,所以選擇autosense
      DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
      //查找所有的可用的打印服務(wù)
      PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
      //定位默認(rèn)的打印服務(wù)
      PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
      //顯示打印對(duì)話(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); //構(gòu)造待打印的文件流
          DocAttributeSet das = new HashDocAttributeSet();
          Doc doc = new SimpleDoc(fis, flavor, das);
          job.print(doc, pras);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
}

好了這篇文章就介紹這么多,需要的朋友可以參考一下。

相關(guān)文章

  • Java?Mybatis框架由淺入深全解析下篇

    Java?Mybatis框架由淺入深全解析下篇

    MyBatis是一個(gè)優(yōu)秀的持久層框架,它對(duì)jdbc的操作數(shù)據(jù)庫(kù)的過(guò)程進(jìn)行封裝,使開(kāi)發(fā)者只需要關(guān)注SQL本身,而不需要花費(fèi)精力去處理例如注冊(cè)驅(qū)動(dòng)、創(chuàng)建connection、創(chuàng)建statement、手動(dòng)設(shè)置參數(shù)、結(jié)果集檢索等jdbc繁雜的過(guò)程代碼,本文將作為最終篇為大家介紹MyBatis的使用
    2022-07-07
  • Java生成表格圖片的實(shí)例代碼

    Java生成表格圖片的實(shí)例代碼

    這篇文章主要介紹了Java生成表格圖片的實(shí)例代碼,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • java生成XML的方法【附demo源碼下載】

    java生成XML的方法【附demo源碼下載】

    這篇文章主要介紹了java生成XML的方法,涉及java針對(duì)xml格式文件的簡(jiǎn)單操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-12-12
  • java仿QQ連連看游戲

    java仿QQ連連看游戲

    這篇文章主要為大家詳細(xì)介紹了java仿QQ連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • SpringBoot使用JDBC獲取相關(guān)的數(shù)據(jù)方法

    SpringBoot使用JDBC獲取相關(guān)的數(shù)據(jù)方法

    這篇文章主要介紹了SpringBoot使用JDBC獲取相關(guān)的數(shù)據(jù)方法,JDBC與數(shù)據(jù)庫(kù)建立連接、發(fā)送 操作數(shù)據(jù)庫(kù)的語(yǔ)句并處理結(jié)果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • JFreeChart動(dòng)態(tài)畫(huà)折線圖的方法

    JFreeChart動(dòng)態(tài)畫(huà)折線圖的方法

    這篇文章主要為大家詳細(xì)介紹了JFreeChart動(dòng)態(tài)畫(huà)折線圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • mybatis?實(shí)體類(lèi)字段大小寫(xiě)問(wèn)題?字段獲取不到值的解決

    mybatis?實(shí)體類(lèi)字段大小寫(xiě)問(wèn)題?字段獲取不到值的解決

    這篇文章主要介紹了mybatis?實(shí)體類(lèi)字段大小寫(xiě)問(wèn)題?字段獲取不到值的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java代碼實(shí)現(xiàn)哈希表(google 公司的上機(jī)題)

    Java代碼實(shí)現(xiàn)哈希表(google 公司的上機(jī)題)

    這篇文章主要介紹了Java 哈希表詳解(google 公司的上機(jī)題),本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • application作用域?qū)崿F(xiàn)用戶(hù)登錄擠掉之前登錄用戶(hù)代碼

    application作用域?qū)崿F(xiàn)用戶(hù)登錄擠掉之前登錄用戶(hù)代碼

    這篇文章主要介紹了application作用域?qū)崿F(xiàn)用戶(hù)登錄擠掉之前登錄用戶(hù)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • springmvc mybatis集成配置示例

    springmvc mybatis集成配置示例

    本文主要介紹springmvc+mybatis集成配置,這里提供了實(shí)例代碼,和簡(jiǎn)單說(shuō)明,有需要的小伙伴可以參考下
    2016-09-09

最新評(píng)論