本文目錄一覽:
- 1、Java如何調用系統打印機打印文件
- 2、如何用Java調用打印機打印docx,PDF文檔
- 3、java調用本地打印機實現打印PDF文件,怎麼做
- 4、如何通過JAVA代碼調用網絡打印機使其打印接收到的文件
- 5、怎麼用java調用默認打印機打印文檔?
- 6、如何使用java直接連接打印機打印excel文件
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