java打印文件,java讀取文件並打印

本文目錄一覽:

Java如何調用系統打印機打印文件

1、Desktop.getDesktop().print(new File(“c:/123.jpg”));

2、private void printFileAction()

{

//構造一個文件選擇器,默認為當前目錄

JFileChooser fileChooser = new JFileChooser(SystemProperties.USER_DIR);

int state = fileChooser.showOpenDialog(this);//彈出文件選擇對話框

if (state == fileChooser.APPROVE_OPTION)//如果用戶選定了文件

{

File file = fileChooser.getSelectedFile();//獲取選擇的文件

//構建打印請求屬性集

PrintRequestAttributeSet 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();

}

}

}

}

在上面的示例中,因尚未確定文件的類型,所以將指定文件的打印格式定義為DocFlavor.INPUT_STREAM.AUTOSENSE。事實上,如果在進行打印之前,就已確定地知道文件的格式,如為GIF,就應定義為DocFlavor.INPUT_STREAM.GIF ;如為PDF,就應該定義為DocFlavor.INPUT_STREAM.PDF;如為純ASCII文件,就可以定義為 DocFlavor.INPUT_STREAM.TEXT_HTML_US_ASCII。等等。jdk1.4的javax.print.DocFlavor提供了極為豐富的文件流類型,你可以根據具體的應用需求進行合適的選擇。

如何用Java調用打印機打印docx,PDF文檔

具體步驟如下:

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import javax.print.Doc;

import javax.print.DocFlavor;

import javax.print.DocPrintJob;

import javax.print.PrintService;

import javax.print.PrintServiceLookup;

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 PrintDemo {

public static void main(String[] args) {

JFileChooser fileChooser = new JFileChooser(); // 創建打印作業

File file = new File(“f:/111.txt”); // 獲取選擇的文件

// 構建打印請求屬性集

HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

// 設置打印格式,因為未確定類型,所以選擇autosense

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

// 定位默認的打印服務

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();

InputStream fis = null;

try {

DocPrintJob job = defaultService.createPrintJob(); // 創建打印作業

fis = new FileInputStream(file); // 構造待打印的文件流

DocAttributeSet das = new HashDocAttributeSet();

Doc doc = new SimpleDoc(fis, flavor, das);

job.print(doc, pras);

} catch (Exception e) {

e.printStackTrace();

} finally {

if (fis != null) {

try {

fis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

java調用本地打印機實現打印PDF文件,怎麼做

使用虛擬打印機pdf factory即可實現,而且其他格式文件只要是能夠打印,選擇這個虛擬打印機,都可以做成PDF文件,很簡單實用,一勞永逸。

如何通過JAVA代碼調用網絡打印機使其打印接收到的文件

用java實現本地打印:java.awt中提供了一些打印的API,要實現打印,首先要獲得打印對象,然後繼承Printable實現接口方法print,以便打印機進行打印,最後用用Graphics2D直接輸出直接輸出。下面代碼實現了簡單的打印功能:

怎麼用java調用默認打印機打印文檔?

java實現調用默認打印機打印文檔(以D盤zhidao.txt文檔為例),代碼如下:

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import javax.print.Doc;

import javax.print.DocFlavor;

import javax.print.DocPrintJob;

import javax.print.PrintException;

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.print.attribute.PrintRequestAttributeSet;

/**

 * 調用打印機功能

 * @author Administrator

**/

public class PrintDemoII {

public static void main(String[] args) {

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

PrintService []pservices = PrintServiceLookup.lookupPrintServices(flavor, aset);

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();

PrintService service = ServiceUI.printDialog(null, 200, 200, pservices, 

defaultService, flavor, aset);

if(service != null){

try {

DocPrintJob pj =service.createPrintJob();

FileInputStream fis = new FileInputStream(“D:”+ File.separator +”zhidao.txt”);//打印D盤zhidao.txt文檔。

DocAttributeSet das = new HashDocAttributeSet();

Doc doc = new SimpleDoc(fis, flavor, das);

pj.print(doc, aset);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

} catch (PrintException e) {

e.printStackTrace();

}

}else {

System.out.println(“打印失敗”);

}

}

}

如何使用java直接連接打印機打印excel文件

打印指定頁號的具體文本內容*/

private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page) {

String s = getDrawText(printStr)[page]; //獲取當前頁的待打印文本內容

//獲取默認字體及相應的尺寸

FontRenderContext context = g2.getFontRenderContext();

Font f = area.getFont();

String drawText;

float ascent = 16; //給定字符點陣

int k, i = f.getSize(), lines = 0;

while(s.length() 0 lines 54) //每頁限定在54行以內

{

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/295280.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 17:15
下一篇 2024-12-26 17:15

相關推薦

發表回復

登錄後才能評論